A scene graph node that can have children. More...
#include <sceneview/group_node.hpp>
Public Member Functions | |
SceneNodeType | NodeType () const override |
const std::vector< SceneNode * > & | Children () |
Retrieve the node's children. | |
const AxisAlignedBox & | WorldBoundingBox () override |
Retrieve the world-space bounding box of the node and all of its children (if applicable). More... | |
![]() | |
SceneNode (const SceneNode &)=delete | |
SceneNode & | operator= (const SceneNode &)=delete |
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. | |
Protected Member Functions | |
void | TransformChanged () override |
Internal method, used to enable lazy matrix computations. More... | |
![]() | |
SceneNode (const QString &name) | |
Constructs a scene node with an identity transform. | |
virtual void | BoundingBoxChanged () |
Internal method, used to enable lazy bounding box computations. More... | |
Friends | |
class | Scene |
A scene graph node that can have children.
GroupNode is the only node type in the scene graph that is allowed to have children.
This class cannot be directly instantiated. Instead, use Scene.
|
inlineoverridevirtual |
Implements sv::SceneNode.
|
overrideprotectedvirtual |
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 from sv::SceneNode.
|
overridevirtual |
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.
Implements sv::SceneNode.