Scene node that contains a list of drawable objects. More...
#include <sceneview/draw_node.hpp>
Public Member Functions | |
SceneNodeType | NodeType () const override |
Retrieve the node type. | |
void | Add (const Drawable::Ptr &drawable) |
Attaches a generic drawable item to the node. More... | |
void | Add (const GeometryResource::Ptr &geometry, const MaterialResource::Ptr &material) |
Convenience method to attach a drawable object from a geometry resource and a material resource. More... | |
const std::vector < Drawable::Ptr > & | Drawables () const |
Retrieve a list of the drawables attached to the node. | |
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 | BoundingBoxChanged () override |
Internal method, used to enable lazy bounding box computations. More... | |
![]() | |
SceneNode (const QString &name) | |
Constructs a scene node with an identity transform. | |
virtual void | TransformChanged () |
Internal method, used to enable lazy matrix computations. More... | |
Friends | |
class | Scene |
class | Drawable |
Scene node that contains a list of drawable objects.
void sv::DrawNode::Add | ( | const Drawable::Ptr & | drawable | ) |
Attaches a generic drawable item to the node.
The node can have multiple drawable objects, and they are always drawn in the order that they are added, relative to each other.
void sv::DrawNode::Add | ( | const GeometryResource::Ptr & | geometry, |
const MaterialResource::Ptr & | material | ||
) |
Convenience method to attach a drawable object from a geometry resource and a material resource.
This method is equivalent to:
|
overrideprotectedvirtual |
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 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.