Pure virtual class that all scene graph nodes inherit. More...
#include <sceneview/scene_node.hpp>
Public Member Functions | |
| SceneNode (const SceneNode &)=delete | |
| SceneNode & | operator= (const SceneNode &)=delete |
| virtual SceneNodeType | NodeType () const =0 |
| Retrieve the node type. | |
| const QString | Name () const |
| Retrieve the node name. | |
| const QVector3D & | Translation () const |
| Retrieve the translation component of the node to parent transform. | |
| const QQuaternion & | Rotation () const |
| Retrieve the rotation component of the node to parent transform. | |
| const QVector3D & | Scale () const |
| Retrieve the scale component of the node to parent transform. | |
| const QMatrix4x4 & | WorldTransform () |
| Retrieve the transform from node coordinates to world coordinates. More... | |
| bool | Visible () const |
| Check if the node is visible or not. | |
| virtual void | SetTranslation (const QVector3D &vec) |
| Sets the translation component of the node transform. | |
| void | SetTranslation (double x, double y, double z) |
| Sets the translation component of the node transform. | |
| virtual void | SetRotation (const QQuaternion &quat) |
| Sets the rotation component of the node to parent transform. | |
| virtual void | SetScale (const QVector3D &vec) |
| Sets the scale component of the node to parent transform. | |
| void | SetScale (double x, double y, double z) |
| Sets the scale component of the node to parent transform. | |
| virtual void | SetVisible (bool visible) |
| Sets the node visibility. More... | |
| GroupNode * | ParentNode () |
| Retrieve the parent of this node. | |
| void | SetParentNode (GroupNode *parent) |
| Sets the node's parent. More... | |
| void | SetSelectionMask (int64_t mask) |
| Sets the selection mask for this node. More... | |
| int64_t | GetSelectionMask () const |
| Retrieve the selection mask for this node. | |
| virtual const AxisAlignedBox & | WorldBoundingBox ()=0 |
| Retrieve the world-space bounding box of the node and all of its children (if applicable). More... | |
Protected Member Functions | |
| SceneNode (const QString &name) | |
| Constructs a scene node with an identity transform. | |
| virtual void | TransformChanged () |
| Internal method, used to enable lazy matrix computations. More... | |
| virtual void | BoundingBoxChanged () |
| Internal method, used to enable lazy bounding box computations. More... | |
Friends | |
| class | GroupNode |
Pure virtual class that all scene graph nodes inherit.
The SceneNode class maintains state common to all scene graph nodes:
|
protectedvirtual |
Internal method, used to enable lazy bounding box computations.
Called when the node's bounding box changes, or when a child's bounding box changes.
Reimplemented in sv::DrawNode.
| void sv::SceneNode::SetParentNode | ( | GroupNode * | parent | ) |
Sets the node's parent.
This is typically automatically handled by the Scene graph.
|
inline |
Sets the selection mask for this node.
The default selection mask for all nodes is 0.
For information on how to use this, see SelectionQuery.
|
virtual |
Sets the node visibility.
Invisible nodes are not drawn during a render cycle, along with their children.
|
protectedvirtual |
Internal method, used to enable lazy matrix computations.
Called when the node's transform changes (e.g., via SetTranslation, SetRotation, or SetScale) or when a parent's transform changes. Also triggers a call to BoundingBoxChanged()
Reimplemented in sv::GroupNode.
|
pure virtual |
Retrieve the world-space bounding box of the node and all of its children (if applicable).
Used internally in view frustum culling and selection queries.
Implemented in sv::CameraNode, sv::LightNode, sv::DrawNode, and sv::GroupNode.
| const QMatrix4x4& sv::SceneNode::WorldTransform | ( | ) |
Retrieve the transform from node coordinates to world coordinates.
The world transform is obtained by chaining the node to parent transforms of all nodes from this node until the root.
1.8.6