Class Qkmaxware::Rendering::SceneNode

Class List > Qkmaxware > Rendering > SceneNode

A node which exists within the scene graph

Inherits the following classes: IEnumerable< SceneNode >

Inherited by the following classes: Qkmaxware::Rendering::AxisHelper, Qkmaxware::Rendering::BaseCamera, Qkmaxware::Rendering::LightSource, Qkmaxware::Rendering::MeshRenderer

Public Attributes

Type Name
Vec3 Backward = => -Forward
World aligned backwards vector
IEnumerable< SceneNode > Children = => children.AsReadOnly()
All direct children of this scene node
Vec3 Down = => -Up
World aligned down vector
Vec3 Forward = => LocalToWorldMatrix * Vec3.J
World aligned forward vector
Vec3 Left = => -Right
World aligned left vector
Transformation LocalToWorldMatrix = => (Parent != null) ? Parent.LocalToWorldMatrix * this.Transform : this.Transform
Matrix to convert from local to world space
Vec3 Position = => LocalToWorldMatrix * Vec3.Zero
World position of this node
Vec3 Right = => LocalToWorldMatrix * Vec3.I
World aligned right vector
Scene? Scene = => (Parent != null) ? Parent.Scene : this.root_scene
Scene in which this node belongs
Transformation Transform = = Transformation.Identity()
Local transformation matrix representing the coordinate frame for this node
Vec3 Up = => LocalToWorldMatrix * Vec3.K
World aligned up vector
Transformation WorldToLocalMatrix = => LocalToWorldMatrix.Inverse
Matrix to convert from world to local space

Public Functions

Type Name
void Add (SceneNode node)
Add a node to the scene graph under this node
void Detach ()
Remove this node from the scene graph
IEnumerator< SceneNode > GetEnumerator ()
void Move (Vec3 delta)
Move this node
void Remove (SceneNode node)
Remove a node from the scene graph
void Rotate (Vec3 axis, double angle)
Rotate this coordinate frame about an axis
void RotateAround (Vec3 point, Vec3 axis, double angle)
Rotate this node around a point in space

Public Attributes Documentation

variable Backward

Vec3 Qkmaxware.Rendering.SceneNode.Backward;

variable Children

IEnumerable<SceneNode> Qkmaxware.Rendering.SceneNode.Children;

variable Down

Vec3 Qkmaxware.Rendering.SceneNode.Down;

variable Forward

Vec3 Qkmaxware.Rendering.SceneNode.Forward;

variable Left

Vec3 Qkmaxware.Rendering.SceneNode.Left;

variable LocalToWorldMatrix

Transformation Qkmaxware.Rendering.SceneNode.LocalToWorldMatrix;

variable Position

Vec3 Qkmaxware.Rendering.SceneNode.Position;

variable Right

Vec3 Qkmaxware.Rendering.SceneNode.Right;

variable Scene

Scene? Qkmaxware.Rendering.SceneNode.Scene;

variable Transform

Transformation Qkmaxware.Rendering.SceneNode.Transform;

variable Up

Vec3 Qkmaxware.Rendering.SceneNode.Up;

variable WorldToLocalMatrix

Transformation Qkmaxware.Rendering.SceneNode.WorldToLocalMatrix;

Public Functions Documentation

function Add

inline void Qkmaxware::Rendering::SceneNode::Add (
    SceneNode node
) 

Parameters:

  • node node to add

function Detach

inline void Qkmaxware::Rendering::SceneNode::Detach () 

function GetEnumerator [1/2]

inline IEnumerator< SceneNode > Qkmaxware::Rendering::SceneNode::GetEnumerator () 

function Move

inline void Qkmaxware::Rendering::SceneNode::Move (
    Vec3 delta
) 

Parameters:

  • delta amount to move by

function Remove

inline void Qkmaxware::Rendering::SceneNode::Remove (
    SceneNode node
) 

Parameters:

  • node node to remove

function Rotate

inline void Qkmaxware::Rendering::SceneNode::Rotate (
    Vec3 axis,
    double angle
) 

Parameters:

  • axis axis to rotate
  • angle rotation amount

function RotateAround

inline void Qkmaxware::Rendering::SceneNode::RotateAround (
    Vec3 point,
    Vec3 axis,
    double angle
) 

Parameters:

  • point point to orbit
  • axis axis of rotation
  • angle rotation amount

The documentation for this class was generated from the following file Render/src/SceneNode.cs