igor::iNodeModel Class Reference

#include <iNodeModel.h>

Inherits igor::iNode.

Public Member Functions

void setModel (const iaString &name)
 
void setModel (iModelPtr model)
 
iModelPtr getModel () const
 
const iaString getModelName () const
 
bool isValid () const
 
bool isLoaded () const
 
void registerModelReadyDelegate (iModelReadyDelegate delegate)
 
void unregisterModelReadyDelegate (iModelReadyDelegate delegate)
 
void setMaterial (const iMaterialPtr &material)
 
std::vector< iaStringgetInfo (bool brief=false) const override
 
- 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 ()
 

Friends

class iNodeManager
 
class iNodeVisitorUpdateTransform
 

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 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 ()
 
- 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

represents a model within the scene

Member Function Documentation

◆ getInfo()

std::vector< iaString > igor::iNodeModel::getInfo ( bool  brief = false) const
overridevirtual

returns multiple lines of information about this node

each entry in vector is one line of information

Returns
strings with the nodes information
Parameters
briefif true only one brief line of information will be returned

Reimplemented from igor::iNode.

◆ getModel()

iModelPtr igor::iNodeModel::getModel ( ) const
Returns
the model reference

◆ getModelName()

const iaString igor::iNodeModel::getModelName ( ) const
Returns
name of model

◆ isLoaded()

bool igor::iNodeModel::isLoaded ( ) const
Returns
true if model was loaded or attempted to be loaded

◆ isValid()

bool igor::iNodeModel::isValid ( ) const
Returns
filename of model
true if model data is ready to render

◆ registerModelReadyDelegate()

void igor::iNodeModel::registerModelReadyDelegate ( iModelReadyDelegate  delegate)

register delegate to model loaded event

Parameters
delegatethe delegate to register

◆ setMaterial()

void igor::iNodeModel::setMaterial ( const iMaterialPtr material)

sets and overrides material of all mesh nodes under this model

Parameters
materialthe material to set

◆ setModel() [1/2]

void igor::iNodeModel::setModel ( const iaString name)

sets model by name

Parameters
namename of the model

◆ setModel() [2/2]

void igor::iNodeModel::setModel ( iModelPtr  model)

sets model by model reference

Parameters
modelthe model reference

◆ unregisterModelReadyDelegate()

void igor::iNodeModel::unregisterModelReadyDelegate ( iModelReadyDelegate  delegate)

unregister delegate from model loaded event

Parameters
delegatethe delegate to unregister

Friends And Related Function Documentation

◆ iNodeManager

friend class iNodeManager
friend

◆ iNodeVisitorUpdateTransform

friend class iNodeVisitorUpdateTransform
friend

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