Saga3D API Documentation  1.0-RC4
saga::scene::ISceneNode Class Referenceabstract

Type for list of scene node animators. More...

#include <ISceneNode.h>

Inheritance diagram for saga::scene::ISceneNode:
saga::IEventReceiver saga::scene::IBillboardSceneNode saga::scene::IBoneSceneNode saga::scene::ICameraSceneNode saga::scene::IMeshSceneNode saga::scene::IBillboardTextSceneNode saga::scene::IAnimatedMeshSceneNode

Public Member Functions

 ISceneNode (const std::shared_ptr< ISceneNode > &parent, const std::shared_ptr< ISceneManager > &mgr, const glm::vec3 &position=glm::vec3(0, 0, 0), const glm::vec3 &rotation=glm::vec3(0, 0, 0), const glm::vec3 &scale=glm::vec3(1.0f, 1.0f, 1.0f))
 Constructor. More...
 
virtual void onEvent (const SDL_Event &event) override
 Called when an SDL event is fired. More...
 
virtual ~ISceneNode ()
 Destructor. More...
 
void setID (const ID id)
 
const auto getID () const
 
virtual void onRegisterSceneNode (video::RenderPassHandle pass)
 This method is called just before the rendering process of the whole scene. More...
 
virtual void onUnregisterSceneNode (video::RenderPassHandle pass)
 
void setOnRender (std::function< void()> func)
 
void onRender ()
 
bool hasDrawCommands () const
 
void setDrawCommands (video::DrawCommandList &&list)
 
const auto & getDrawCommands () const
 
auto getTexture (int slot) const
 
auto & getTextures ()
 
void setTexture (int slot, video::TextureHandle texture)
 
virtual void setPipeline (video::PipelineHandle pipeline)
 
auto getPipeline () const
 
virtual void onAnimate (const float time)
 onAnimate() is called just before rendering the whole scene. More...
 
virtual const std::string & getName () const
 Returns the name of the node. More...
 
virtual void setName (const std::string &name)
 Sets the name of the node. More...
 
virtual const core::aabbox3d< float > & getBoundingBox () const =0
 Get the axis aligned, not transformed bounding box of this node. More...
 
virtual const core::aabbox3d< float > getTransformedBoundingBox () const
 Get the axis aligned, transformed and animated absolute bounding box of this node. More...
 
virtual void getTransformedBoundingBoxEdges (std::vector< glm::vec3 > &edges) const
 
virtual const glm::mat4 & getAbsoluteTransformation () const
 Get the absolute transformation of the node. Is recalculated every onAnimate()-call. More...
 
virtual glm::mat4 getRelativeTransformation () const
 Returns the relative transformation of the scene node. More...
 
virtual bool isVisible () const
 Returns whether the node should be visible (if all of its parents are visible). More...
 
virtual bool isTrulyVisible () const
 Check whether the node is truly visible, taking into accounts its parents' visibility. More...
 
virtual void setVisible (bool isVisible)
 Sets if the node should be visible or not. More...
 
virtual void addChild (const std::shared_ptr< ISceneNode > &child)
 Adds a child to this scene node. More...
 
virtual bool removeChild (const std::shared_ptr< ISceneNode > &child)
 
virtual void removeAll ()
 Removes all children of this scene node. More...
 
virtual void remove ()
 Removes this scene node from the scene. More...
 
virtual void addAnimator (const std::shared_ptr< ISceneNodeAnimator > &animator)
 Adds an animator which should animate this node. More...
 
const auto & getAnimators () const
 Get a list of all scene node animators. More...
 
virtual void removeAnimator (const std::shared_ptr< ISceneNodeAnimator > &animator)
 Removes an animator from this scene node. More...
 
virtual void removeAnimators ()
 Removes all animators from this scene node. More...
 
virtual const glm::vec3 & getScale () const
 Gets the scale of the scene node relative to its parent. More...
 
virtual void setScale (const glm::vec3 &scale)
 Sets the relative scale of the scene node. More...
 
virtual const glm::vec3 & getRotation () const
 Gets the rotation of the node relative to its parent. More...
 
virtual void setRotation (const glm::vec3 &rotation)
 Sets the rotation of the node relative to its parent. More...
 
virtual const glm::vec3 & getPosition () const
 Gets the position of the node relative to its parent. More...
 
virtual void setPosition (const glm::vec3 &newpos)
 Sets the position of the node relative to its parent. More...
 
virtual glm::vec3 getAbsolutePosition () const
 Gets the absolute position of the node in world coordinates. More...
 
const std::vector< std::shared_ptr< ISceneNode > > & getChildren () const
 Returns a const reference to the list of all children. More...
 
virtual void setParent (const std::shared_ptr< ISceneNode > &newParent)
 Changes the parent of the scene node. More...
 
virtual void updateAbsolutePosition ()
 Returns the triangle selector attached to this scene node. More...
 
const std::shared_ptr< ISceneNode > & getParent () const
 Returns the parent of this scene node. More...
 
virtual E_SCENE_NODE_TYPE getType () const
 Returns type of the scene node. More...
 
virtual std::shared_ptr< ISceneNodeclone (const std::shared_ptr< ISceneNode > &newParent=0)
 Creates a clone of this scene node and its children. More...
 
virtual const std::shared_ptr< ISceneManager > & getSceneManager () const
 Retrieve the scene manager for this node. More...
 
- Public Member Functions inherited from saga::IEventReceiver
virtual ~IEventReceiver ()
 Destructor. More...
 

Protected Attributes

ID NodeID = INVALID_ID
 A clone function for the ISceneNode members. More...
 
std::string Name
 Name of the scene node. More...
 
glm::mat4 AbsoluteTransformation
 Absolute transformation of the node. More...
 
glm::vec3 RelativeTranslation
 Relative translation of the scene node. More...
 
glm::vec3 RelativeRotation
 Relative rotation of the scene node. More...
 
glm::vec3 RelativeScale
 Relative scale of the scene node. More...
 
std::shared_ptr< ISceneNodeParent = nullptr
 Pointer to the parent. More...
 
std::vector< std::shared_ptr< ISceneNode > > Children
 List of all children of this node. More...
 
std::array< video::STexture::HandleType, video::MAX_NODE_TEXTURESTextures = { video::NULL_GPU_RESOURCE_HANDLE }
 Texture list. More...
 
std::vector< std::shared_ptr< ISceneNodeAnimator > > Animators
 List of all animator nodes. More...
 
std::shared_ptr< ISceneManagerSceneManager = nullptr
 Pointer to the scene manager. More...
 
std::function< void()> OnRenderCallback = nullptr
 Custom hook into rendering process of the scene node. More...
 
video::DrawCommandList DrawCommands
 
video::PipelineHandle Pipeline = video::NULL_GPU_RESOURCE_HANDLE
 
bool IsVisible = true
 Is the node visible? More...
 

Detailed Description

Type for list of scene node animators.

Scene node interface. A scene node is a node in the hierarchical scene graph. Every scene node may have children, which are also scene nodes. Children move relative to their parent's position. If the parent of a node is not visible, its children won't be visible either. In this way, it is for example easily possible to attach a light to a moving car, or to place a walking character on a moving platform on a moving ship.

Definition at line 41 of file ISceneNode.h.

Constructor & Destructor Documentation

◆ ISceneNode()

saga::scene::ISceneNode::ISceneNode ( const std::shared_ptr< ISceneNode > &  parent,
const std::shared_ptr< ISceneManager > &  mgr,
const glm::vec3 &  position = glm::vec3(0,0,0),
const glm::vec3 &  rotation = glm::vec3(0,0,0),
const glm::vec3 &  scale = glm::vec3(1.0f, 1.0f, 1.0f) 
)
inline

Constructor.

Definition at line 46 of file ISceneNode.h.

◆ ~ISceneNode()

virtual saga::scene::ISceneNode::~ISceneNode ( )
inlinevirtual

Destructor.

Definition at line 70 of file ISceneNode.h.

Member Function Documentation

◆ addAnimator()

virtual void saga::scene::ISceneNode::addAnimator ( const std::shared_ptr< ISceneNodeAnimator > &  animator)
inlinevirtual

Adds an animator which should animate this node.

Parameters
animatorA pointer to the new animator.

Definition at line 337 of file ISceneNode.h.

◆ addChild()

virtual void saga::scene::ISceneNode::addChild ( const std::shared_ptr< ISceneNode > &  child)
inlinevirtual

Adds a child to this scene node.

If the scene node already has a parent it is first removed from the other parent.

Parameters
childA pointer to the new child.

Definition at line 275 of file ISceneNode.h.

◆ clone()

virtual std::shared_ptr<ISceneNode> saga::scene::ISceneNode::clone ( const std::shared_ptr< ISceneNode > &  newParent = 0)
inlinevirtual

Creates a clone of this scene node and its children.

Parameters
newParentAn optional new parent.
newManagerAn optional new scene manager.
Returns
The newly created clone of this node.

Definition at line 525 of file ISceneNode.h.

◆ getAbsolutePosition()

virtual glm::vec3 saga::scene::ISceneNode::getAbsolutePosition ( ) const
inlinevirtual

Gets the absolute position of the node in world coordinates.

If you want the position of the node relative to its parent, use getPosition() instead. NOTE: For speed reasons the absolute position is not automatically recalculated on each change of the relative position or by a position change of an parent. Instead the update usually happens once per frame in onAnimate. You can enforce an update with updateAbsolutePosition().

Returns
The current absolute position of the scene node (updated on last call of updateAbsolutePosition).

Definition at line 432 of file ISceneNode.h.

◆ getAbsoluteTransformation()

virtual const glm::mat4& saga::scene::ISceneNode::getAbsoluteTransformation ( ) const
inlinevirtual

Get the absolute transformation of the node. Is recalculated every onAnimate()-call.

NOTE: For speed reasons the absolute transformation is not automatically recalculated on each change of the relative transformation or by a transformation change of an parent. Instead the update usually happens once per frame in onAnimate. You can enforce an update with updateAbsolutePosition().

Returns
The absolute transformation matrix.

Definition at line 219 of file ISceneNode.h.

◆ getAnimators()

const auto& saga::scene::ISceneNode::getAnimators ( ) const
inline

Get a list of all scene node animators.

Returns
The list of animators attached to this node.

Definition at line 348 of file ISceneNode.h.

◆ getBoundingBox()

virtual const core::aabbox3d<float>& saga::scene::ISceneNode::getBoundingBox ( ) const
pure virtual

Get the axis aligned, not transformed bounding box of this node.

This means that if this node is an animated 3d character, moving in a room, the bounding box will always be around the origin. To get the box in real world coordinates, just transform it with the matrix you receive with getAbsoluteTransformation() or simply use getTransformedBoundingBox(), which does the same.

Returns
The non-transformed bounding box.

Implemented in saga::scene::IMeshSceneNode, and saga::scene::IBoneSceneNode.

◆ getChildren()

const std::vector<std::shared_ptr<ISceneNode> >& saga::scene::ISceneNode::getChildren ( ) const
inline

Returns a const reference to the list of all children.

Returns
The list of all children of this node.

Definition at line 439 of file ISceneNode.h.

◆ getDrawCommands()

const auto& saga::scene::ISceneNode::getDrawCommands ( ) const
inline

Definition at line 121 of file ISceneNode.h.

◆ getID()

const auto saga::scene::ISceneNode::getID ( ) const
inline

Definition at line 82 of file ISceneNode.h.

◆ getName()

virtual const std::string& saga::scene::ISceneNode::getName ( ) const
inlinevirtual

Returns the name of the node.

Returns
Name as character string.

Definition at line 165 of file ISceneNode.h.

◆ getParent()

const std::shared_ptr<ISceneNode>& saga::scene::ISceneNode::getParent ( ) const
inline

Returns the parent of this scene node.

Returns
A pointer to the parent.

Definition at line 509 of file ISceneNode.h.

◆ getPipeline()

auto saga::scene::ISceneNode::getPipeline ( ) const
inline

Definition at line 134 of file ISceneNode.h.

◆ getPosition()

virtual const glm::vec3& saga::scene::ISceneNode::getPosition ( ) const
inlinevirtual

Gets the position of the node relative to its parent.

Note that the position is relative to the parent. If you want the position in world coordinates, use getAbsolutePosition() instead.

Returns
The current position of the node relative to the parent.

Definition at line 410 of file ISceneNode.h.

◆ getRelativeTransformation()

virtual glm::mat4 saga::scene::ISceneNode::getRelativeTransformation ( ) const
inlinevirtual

Returns the relative transformation of the scene node.

The relative transformation is stored internally as 3 vectors: translation, rotation and scale. To get the relative transformation matrix, it is calculated from these values.

Returns
The relative transformation matrix.

Definition at line 229 of file ISceneNode.h.

◆ getRotation()

virtual const glm::vec3& saga::scene::ISceneNode::getRotation ( ) const
inlinevirtual

Gets the rotation of the node relative to its parent.

Note that this is the relative rotation of the node. If you want the absolute rotation, use getAbsoluteTransformation().getRotation()

Returns
Current relative rotation of the scene node.

Definition at line 393 of file ISceneNode.h.

◆ getScale()

virtual const glm::vec3& saga::scene::ISceneNode::getScale ( ) const
inlinevirtual

Gets the scale of the scene node relative to its parent.

This is the scale of this node relative to its parent. If you want the absolute scale, use getAbsoluteTransformation().getScale()

Returns
The scale of the scene node.

Definition at line 376 of file ISceneNode.h.

◆ getSceneManager()

virtual const std::shared_ptr<ISceneManager>& saga::scene::ISceneNode::getSceneManager ( ) const
inlinevirtual

Retrieve the scene manager for this node.

Returns
The node's scene manager.

Definition at line 532 of file ISceneNode.h.

◆ getTexture()

auto saga::scene::ISceneNode::getTexture ( int  slot) const
inline

Definition at line 123 of file ISceneNode.h.

◆ getTextures()

auto& saga::scene::ISceneNode::getTextures ( )
inline

Definition at line 125 of file ISceneNode.h.

◆ getTransformedBoundingBox()

virtual const core::aabbox3d<float> saga::scene::ISceneNode::getTransformedBoundingBox ( ) const
inlinevirtual

Get the axis aligned, transformed and animated absolute bounding box of this node.

Note: The result is still an axis-aligned bounding box, so it's size changes with rotation.

Returns
The transformed bounding box.

Definition at line 191 of file ISceneNode.h.

◆ getTransformedBoundingBoxEdges()

virtual void saga::scene::ISceneNode::getTransformedBoundingBoxEdges ( std::vector< glm::vec3 > &  edges) const
inlinevirtual

Get a the 8 corners of the original bounding box transformed and animated by the absolute transformation. Note: The result is not identical to getTransformedBoundingBox().getEdges(), but getting an aabbox3d of these edges would then be identical.

Parameters
edgesReceives an array with the transformed edges

Definition at line 204 of file ISceneNode.h.

◆ getType()

virtual E_SCENE_NODE_TYPE saga::scene::ISceneNode::getType ( ) const
inlinevirtual

Returns type of the scene node.

Returns
The type of this node.

Reimplemented in saga::scene::IMeshSceneNode.

Definition at line 516 of file ISceneNode.h.

◆ hasDrawCommands()

bool saga::scene::ISceneNode::hasDrawCommands ( ) const
inline

Definition at line 117 of file ISceneNode.h.

◆ isTrulyVisible()

virtual bool saga::scene::ISceneNode::isTrulyVisible ( ) const
inlinevirtual

Check whether the node is truly visible, taking into accounts its parents' visibility.

Returns
true if the node and all its parents are visible, false if this or any parent node is invisible.

Definition at line 250 of file ISceneNode.h.

◆ isVisible()

virtual bool saga::scene::ISceneNode::isVisible ( ) const
inlinevirtual

Returns whether the node should be visible (if all of its parents are visible).

This is only an option set by the user, but has nothing to do with geometry culling

Returns
The requested visibility of the node, true means visible (if all parents are also visible).

Definition at line 242 of file ISceneNode.h.

◆ onAnimate()

virtual void saga::scene::ISceneNode::onAnimate ( const float  time)
inlinevirtual

onAnimate() is called just before rendering the whole scene.

Nodes may calculate or store animations here, and may do other useful things, depending on what they are. Also, onAnimate() should be called for all child scene nodes here. This method will be called once per frame, independent of whether the scene node is visible or not.

Parameters
timeMsCurrent time in milliseconds.

Reimplemented in saga::scene::IBoneSceneNode.

Definition at line 142 of file ISceneNode.h.

◆ onEvent()

virtual void saga::scene::ISceneNode::onEvent ( const SDL_Event &  event)
inlineoverridevirtual

Called when an SDL event is fired.

Implements saga::IEventReceiver.

Definition at line 61 of file ISceneNode.h.

◆ onRegisterSceneNode()

virtual void saga::scene::ISceneNode::onRegisterSceneNode ( video::RenderPassHandle  pass)
inlinevirtual

This method is called just before the rendering process of the whole scene.

Nodes may register themselves in the render pipeline during this call, precalculate the geometry which should be renderered, and prevent their children from being able to register themselves if they are clipped by simply not calling their onRegisterSceneNode method. If you are implementing your own scene node, you should overwrite this method with an implementation code looking like this:

Reimplemented in saga::scene::IMeshSceneNode.

Definition at line 96 of file ISceneNode.h.

◆ onRender()

void saga::scene::ISceneNode::onRender ( )
inline

Definition at line 115 of file ISceneNode.h.

◆ onUnregisterSceneNode()

virtual void saga::scene::ISceneNode::onUnregisterSceneNode ( video::RenderPassHandle  pass)
inlinevirtual

Reimplemented in saga::scene::IMeshSceneNode.

Definition at line 106 of file ISceneNode.h.

◆ remove()

virtual void saga::scene::ISceneNode::remove ( )
inlinevirtual

Removes this scene node from the scene.

If no other grab exists for this node, it will be deleted.

Definition at line 329 of file ISceneNode.h.

◆ removeAll()

virtual void saga::scene::ISceneNode::removeAll ( )
inlinevirtual

Removes all children of this scene node.

The scene nodes found in the children list are also dropped and might be deleted if no other grab exists on them.

Definition at line 314 of file ISceneNode.h.

◆ removeAnimator()

virtual void saga::scene::ISceneNode::removeAnimator ( const std::shared_ptr< ISceneNodeAnimator > &  animator)
inlinevirtual

Removes an animator from this scene node.

If the animator is found, it is also dropped and might be deleted if not other grab exists for it.

Parameters
animatorA pointer to the animator to be deleted.

Definition at line 358 of file ISceneNode.h.

◆ removeAnimators()

virtual void saga::scene::ISceneNode::removeAnimators ( )
inlinevirtual

Removes all animators from this scene node.

The animators might also be deleted if no other grab exists for them.

Definition at line 366 of file ISceneNode.h.

◆ removeChild()

virtual bool saga::scene::ISceneNode::removeChild ( const std::shared_ptr< ISceneNode > &  child)
inlinevirtual

If found in the children list, the child pointer is also dropped and might be deleted if no other grab exists.

Parameters
childA pointer to the child which shall be removed.
Returns
True if the child was removed, and false if not, e.g. because it couldn't be found in the children list.

Definition at line 295 of file ISceneNode.h.

◆ setDrawCommands()

void saga::scene::ISceneNode::setDrawCommands ( video::DrawCommandList &&  list)
inline

Definition at line 119 of file ISceneNode.h.

◆ setID()

void saga::scene::ISceneNode::setID ( const ID  id)
inline

Definition at line 81 of file ISceneNode.h.

◆ setName()

virtual void saga::scene::ISceneNode::setName ( const std::string &  name)
inlinevirtual

Sets the name of the node.

Parameters
nameNew name of the scene node.

Definition at line 172 of file ISceneNode.h.

◆ setOnRender()

void saga::scene::ISceneNode::setOnRender ( std::function< void()>  func)
inline

Definition at line 113 of file ISceneNode.h.

◆ setParent()

virtual void saga::scene::ISceneNode::setParent ( const std::shared_ptr< ISceneNode > &  newParent)
inlinevirtual

Changes the parent of the scene node.

Parameters
newParentThe new parent to be used.

Definition at line 446 of file ISceneNode.h.

◆ setPipeline()

virtual void saga::scene::ISceneNode::setPipeline ( video::PipelineHandle  pipeline)
inlinevirtual

Reimplemented in saga::scene::IMeshSceneNode.

Definition at line 132 of file ISceneNode.h.

◆ setPosition()

virtual void saga::scene::ISceneNode::setPosition ( const glm::vec3 &  newpos)
inlinevirtual

Sets the position of the node relative to its parent.

Note that the position is relative to the parent.

Parameters
newposNew relative position of the scene node.

Definition at line 418 of file ISceneNode.h.

◆ setRotation()

virtual void saga::scene::ISceneNode::setRotation ( const glm::vec3 &  rotation)
inlinevirtual

Sets the rotation of the node relative to its parent.

This only modifies the relative rotation of the node.

Parameters
rotationNew rotation of the node in degrees.

Reimplemented in saga::scene::ICameraSceneNode.

Definition at line 401 of file ISceneNode.h.

◆ setScale()

virtual void saga::scene::ISceneNode::setScale ( const glm::vec3 &  scale)
inlinevirtual

Sets the relative scale of the scene node.

Parameters
scaleNew scale of the node, relative to its parent.

Definition at line 383 of file ISceneNode.h.

◆ setTexture()

void saga::scene::ISceneNode::setTexture ( int  slot,
video::TextureHandle  texture 
)
inline

Definition at line 127 of file ISceneNode.h.

◆ setVisible()

virtual void saga::scene::ISceneNode::setVisible ( bool  isVisible)
inlinevirtual

Sets if the node should be visible or not.

All children of this node won't be visible either, when set to false. Invisible nodes are not valid candidates for selection by collision manager bounding box methods.

Parameters
isVisibleIf the node shall be visible.

Definition at line 266 of file ISceneNode.h.

◆ updateAbsolutePosition()

virtual void saga::scene::ISceneNode::updateAbsolutePosition ( )
inlinevirtual

Returns the triangle selector attached to this scene node.

The Selector can be used by the engine for doing collision detection. You can create a TriangleSelector with ISceneManager::createTriangleSelector() or ISceneManager::createOctreeTriangleSelector and set it with ISceneNode::setTriangleSelector(). If a scene node got no triangle selector, but collision tests should be done with it, a triangle selector is created using the bounding box of the scene node.

Returns
A pointer to the TriangleSelector or 0, if there is none. Sets the triangle selector of the scene node. The Selector can be used by the engine for doing collision detection. You can create a TriangleSelector with ISceneManager::createTriangleSelector() or ISceneManager::createOctreeTriangleSelector(). Some nodes may create their own selector by default, so it would be good to check if there is already a selector in this node by calling ISceneNode::getTriangleSelector().
Parameters
selectorNew triangle selector for this scene node. Updates the absolute position based on the relative and the parents position Note: This does not recursively update the parents absolute positions, so if you have a deeper hierarchy you might want to update the parents first.

Definition at line 496 of file ISceneNode.h.

Member Data Documentation

◆ AbsoluteTransformation

glm::mat4 saga::scene::ISceneNode::AbsoluteTransformation
protected

Absolute transformation of the node.

Definition at line 598 of file ISceneNode.h.

◆ Animators

std::vector<std::shared_ptr<ISceneNodeAnimator> > saga::scene::ISceneNode::Animators
protected

List of all animator nodes.

Definition at line 619 of file ISceneNode.h.

◆ Children

std::vector<std::shared_ptr<ISceneNode> > saga::scene::ISceneNode::Children
protected

List of all children of this node.

Definition at line 613 of file ISceneNode.h.

◆ DrawCommands

video::DrawCommandList saga::scene::ISceneNode::DrawCommands
protected

Definition at line 631 of file ISceneNode.h.

◆ IsVisible

bool saga::scene::ISceneNode::IsVisible = true
protected

Is the node visible?

Definition at line 636 of file ISceneNode.h.

◆ Name

std::string saga::scene::ISceneNode::Name
protected

Name of the scene node.

Definition at line 595 of file ISceneNode.h.

◆ NodeID

ID saga::scene::ISceneNode::NodeID = INVALID_ID
protected

A clone function for the ISceneNode members.

This method can be used by clone() implementations of derived classes

Parameters
toCopyFromThe node from which the values are copied
newManagerThe new scene manager. Sets the new scene manager for this node and all children. Called by addChild when moving nodes between scene managers ID of this scene node

Definition at line 592 of file ISceneNode.h.

◆ OnRenderCallback

std::function<void()> saga::scene::ISceneNode::OnRenderCallback = nullptr
protected

Custom hook into rendering process of the scene node.

This function is called before the node is rendered by GPU. Use it to update node textures, UBO, push constants, SSBO, ...

Definition at line 629 of file ISceneNode.h.

◆ Parent

std::shared_ptr<ISceneNode> saga::scene::ISceneNode::Parent = nullptr
protected

Pointer to the parent.

Definition at line 610 of file ISceneNode.h.

◆ Pipeline

video::PipelineHandle saga::scene::ISceneNode::Pipeline = video::NULL_GPU_RESOURCE_HANDLE
protected

Definition at line 633 of file ISceneNode.h.

◆ RelativeRotation

glm::vec3 saga::scene::ISceneNode::RelativeRotation
protected

Relative rotation of the scene node.

Definition at line 604 of file ISceneNode.h.

◆ RelativeScale

glm::vec3 saga::scene::ISceneNode::RelativeScale
protected

Relative scale of the scene node.

Definition at line 607 of file ISceneNode.h.

◆ RelativeTranslation

glm::vec3 saga::scene::ISceneNode::RelativeTranslation
protected

Relative translation of the scene node.

Definition at line 601 of file ISceneNode.h.

◆ SceneManager

std::shared_ptr<ISceneManager> saga::scene::ISceneNode::SceneManager = nullptr
protected

Pointer to the scene manager.

Definition at line 622 of file ISceneNode.h.

◆ Textures

std::array<video::STexture::HandleType, video::MAX_NODE_TEXTURES> saga::scene::ISceneNode::Textures = { video::NULL_GPU_RESOURCE_HANDLE }
protected

Texture list.

Definition at line 616 of file ISceneNode.h.


The documentation for this class was generated from the following file:
saga::scene::ISceneNode::IsVisible
bool IsVisible
Is the node visible?
Definition: ISceneNode.h:636
saga::scene::ISceneNode::onRegisterSceneNode
virtual void onRegisterSceneNode(video::RenderPassHandle pass)
This method is called just before the rendering process of the whole scene.
Definition: ISceneNode.h:96
saga::video::RenderPassHandle
SGPUResource::HandleType RenderPassHandle
Definition: SRenderPass.h:27