igor::iNodeVolume Class Reference

#include <iNodeVolume.h>

Inherits igor::iNodeRender.

Inherited by igor::iNodeMesh, and igor::iNodeParticleSystem.

Public Member Functions

iaVector3d getCenter () const
 
const iaVector3dgetRelativeCenter () const
 
const IGOR_API iaSpheredgetBoundingSphere () const
 
void setBoundingBox (const iAABoxd &bbox)
 
const IGOR_API iAABoxdgetBoundingBox () const
 
- Public Member Functions inherited from igor::iNodeRender
const iaMatrixdgetWorldMatrix () const
 
void setMaterial (const iMaterialPtr &material)
 
iMaterialPtr getMaterial () const
 
void setVisible (bool visible=true)
 
bool isVisible () const
 
virtual void draw ()=0
 
- Public Member Functions inherited from igor::iNode
iNodeKind getKind () const
 
iNodeType getType () const
 
iNodeID getID () const
 
const iaStringgetName () const
 
virtual std::vector< iaStringgetInfo (bool brief=false) const
 
void setName (const iaString &name)
 
void insertNode (iNodePtr node)
 
void insertNodeAsync (iNodePtr node)
 
void setActive (bool active=true)
 
void setActiveAsync (bool active=true)
 
void removeNode (iNodePtr node)
 
void removeNodeAsync (iNodePtr node)
 
bool isChild ()
 
bool isChild (iNodePtr child)
 
bool hasChildren ()
 
const std::vector< iNodePtr > & getChildren () const
 
void getAllChildren (std::vector< iNodePtr > &children) const
 
iNodePtr getChild (const iaString &name)
 
iNodePtr getChild (iNodeID id)
 
const std::vector< iNodePtr > & getInactiveChildren () const
 
iNodePtr getParent ()
 
iScenePtr getScene ()
 
bool isTransformationDirty ()
 
void setTransformationDirty (bool dirty=true)
 
void calcWorldTransformation (iaMatrixd &matrix)
 
bool isActive () const
 
iTransformationChangeEvent & getTransformationChangeEvent ()
 

Protected Member Functions

virtual IGOR_API void onUpdateTransform (iaMatrixd &matrix) override
 
virtual IGOR_API void onPreSetScene () override
 
virtual IGOR_API void onPostSetScene () override
 
void updateTree ()
 
 iNodeVolume ()
 
 iNodeVolume (iNodeVolume *node)
 
virtual ~iNodeVolume ()
 
- Protected Member Functions inherited from igor::iNodeRender
virtual void onUpdateTransform (iaMatrixd &matrix) override
 
virtual void onPreSetScene () override
 
virtual void onPostSetScene () override
 
 iNodeRender ()
 
 iNodeRender (iNodeRender *node)
 
virtual ~iNodeRender ()
 
- Protected Member Functions inherited from igor::iNode
void setTransformationDirtyDown ()
 
void setTransformationDirtyUp ()
 
void setDataDirty ()
 
bool isDataDirty ()
 
void setParent (iNodePtr parent)
 
void setScene (iScenePtr scene)
 
virtual void onUpdateTransform (iaMatrixd &matrix)
 
virtual void onPreSetScene ()
 
virtual void onPostSetScene ()
 
virtual bool onUpdateData ()
 
virtual void onPostCopyLink (std::map< iNodeID, iNodeID > &nodeIDMap)
 
 iNode ()
 
 iNode (iNodePtr node)
 
virtual ~iNode ()
 

Friends

class iScene
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iNode
static iaString getKindName (iNodeKind kind)
 
static iaString getTypeName (iNodeType nodeType)
 
- Static Public Attributes inherited from igor::iNode
static const iNodeID INVALID_NODE_ID = IGOR_INVALID_ID
 
- Protected Attributes inherited from igor::iNodeRender
iaMatrixd _worldMatrix
 
bool _visible = true
 
- Protected Attributes inherited from igor::iNode
bool _active = true
 
iNodeType _nodeType = iNodeType::iNode
 
iNodeKind _nodeKind = iNodeKind::Node
 
iaString _name = L"iNode"
 
bool _transformationDirty = true
 
iScenePtr _scene = nullptr
 
iNodePtr _parent = nullptr
 
std::vector< iNodePtr_children
 
std::vector< iNodePtr_inactiveChildren
 
iTransformationChangeEvent _transformationChangeEvent
 

Detailed Description

Node that is a render-able and has a volume therefore relevant for the octree structure

Constructor & Destructor Documentation

◆ iNodeVolume() [1/2]

igor::iNodeVolume::iNodeVolume ( )
protected

initializes member variables

◆ iNodeVolume() [2/2]

igor::iNodeVolume::iNodeVolume ( iNodeVolume node)
protected

copy ctor

◆ ~iNodeVolume()

igor::iNodeVolume::~iNodeVolume ( )
protectedvirtual

dtor

Member Function Documentation

◆ getBoundingBox()

const iAABoxd & igor::iNodeVolume::getBoundingBox ( ) const
Returns
bounding box

◆ getBoundingSphere()

const iaSphered & igor::iNodeVolume::getBoundingSphere ( ) const
Returns
bounding sphere

◆ getCenter()

iaVector3d igor::iNodeVolume::getCenter ( ) const
Returns
center of sphere in world coordinates

◆ getRelativeCenter()

const iaVector3d & igor::iNodeVolume::getRelativeCenter ( ) const
Returns
center of sphere in local coordinates

◆ onPostSetScene()

void igor::iNodeVolume::onPostSetScene ( )
overrideprotectedvirtual

registers to scene

Reimplemented from igor::iNodeRender.

◆ onPreSetScene()

void igor::iNodeVolume::onPreSetScene ( )
overrideprotectedvirtual

unregisters from scene

Reimplemented from igor::iNodeRender.

◆ onUpdateTransform()

void igor::iNodeVolume::onUpdateTransform ( iaMatrixd matrix)
overrideprotectedvirtual

called by node visitor update transform

Parameters
[in,out]matrixcurrent transformation matrix

Reimplemented from igor::iNodeRender.

◆ setBoundingBox()

void igor::iNodeVolume::setBoundingBox ( const iAABoxd bbox)

sets bounding box

Parameters
bboxthe bounding box

◆ updateTree()

void igor::iNodeVolume::updateTree ( )
protected

updates octree if node is within a scene

Friends And Related Function Documentation

◆ iScene

friend class iScene
friend

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