Sceneview
 All Classes Functions Variables Enumerations Enumerator Groups Pages
Public Member Functions | Protected Member Functions | Friends | List of all members
sv::DrawNode Class Reference

Scene node that contains a list of drawable objects. More...

#include <sceneview/draw_node.hpp>

Inheritance diagram for sv::DrawNode:
sv::SceneNode

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 AxisAlignedBoxWorldBoundingBox () override
 Retrieve the world-space bounding box of the node and all of its children (if applicable). More...
 
- Public Member Functions inherited from sv::SceneNode
 SceneNode (const SceneNode &)=delete
 
SceneNodeoperator= (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...
 
GroupNodeParentNode ()
 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...
 
- Protected Member Functions inherited from sv::SceneNode
 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
 

Detailed Description

Scene node that contains a list of drawable objects.

Member Function Documentation

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:

draw_node->Add(Drawable::Create(geometry, material));
void sv::DrawNode::BoundingBoxChanged ( )
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.

const AxisAlignedBox& sv::DrawNode::WorldBoundingBox ( )
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.


The documentation for this class was generated from the following file: