SceneObject
Namespace: Hex1b.Scene.Core
Assembly: Hex1b.dll
Base class for all objects in the 3D scene graph. Supports position, rotation, scale, and parent-child hierarchy.
csharp
[Experimental("HEX1B_SCENE", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/scene.md")]
public class SceneObjectInheritance
Object → SceneObject
Constructors
SceneObject()
csharp
public SceneObject()SceneObject(string?)
Parameters:
name(String):
csharp
public SceneObject(string? name)Properties
Children
Returns: IReadOnlyList<SceneObject>
csharp
public IReadOnlyList<SceneObject> Children { get; }LocalMatrix
Get the local transformation matrix (position, rotation, scale).
Returns: Matrix4
csharp
public Matrix4 LocalMatrix { get; }Name
Returns: String
csharp
public string? Name { get; set; }Parent
Returns: SceneObject
csharp
public SceneObject? Parent { get; set; }Position
Returns: Vector3
csharp
public Vector3 Position { get; set; }Rotation
Returns: Quaternion
csharp
public Quaternion Rotation { get; set; }Scale
Returns: Vector3
csharp
public Vector3 Scale { get; set; }WorldMatrix
Get the world transformation matrix (accounting for parent transforms).
Returns: Matrix4
csharp
public Matrix4 WorldMatrix { get; }Methods
AddChild(SceneObject)
Parameters:
child(SceneObject):
csharp
public void AddChild(SceneObject child)ComputeLocalMatrix()
Returns: Matrix4
csharp
protected virtual Matrix4 ComputeLocalMatrix()GetForward()
Returns: Vector3
csharp
public Vector3 GetForward()GetPositionWorldSpace()
Returns: Vector3
csharp
public Vector3 GetPositionWorldSpace()GetRight()
Returns: Vector3
csharp
public Vector3 GetRight()GetUp()
Returns: Vector3
csharp
public Vector3 GetUp()InvalidateChildMatrices()
csharp
protected void InvalidateChildMatrices()InvalidateMatrices()
csharp
protected virtual void InvalidateMatrices()RemoveChild(SceneObject)
Parameters:
child(SceneObject):
csharp
public void RemoveChild(SceneObject child)SetPositionWorldSpace(Vector3)
Parameters:
worldPosition(Vector3):
csharp
public void SetPositionWorldSpace(Vector3 worldPosition)