igor::iNodeManager Class Reference

#include <iNodeManager.h>

Inherits igor::iModule< iNodeManager >.

Classes

struct  iAction
 

Public Member Functions

iNodePtr getNode (iNodeID id) const
 
void getNodes (std::vector< iNodeID > &nodes, iNodeType nodeType)
 
void getNodes (std::vector< iNodeID > &nodes)
 
bool isNode (iNodeID id) const
 
iNodePtr createCopy (iNodePtr node)
 
void destroyNodeAsync (iNodePtr node)
 
void destroyNodeAsync (iNodeID nodeID)
 
void applyActionsAsync (const std::vector< iAction > &actionQueue)
 
template<class T >
T * createNode (const iaString &name="")
 
void insertNodeAsync (iNodePtr parent, iNodePtr child)
 
void removeNodeAsync (iNodePtr parent, iNodePtr child)
 
void setActiveAsync (iNodePtr node, bool active)
 
void flush ()
 
template<class T >
T * createNode (const iaString &name)
 

Friends

class iModule< iNodeManager >
 
class iApplication
 
class iScene
 
class iNode
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iModule< iNodeManager >
static IGOR_INLINE iNodeManagergetInstance ()
 
static IGOR_INLINE bool isInstantiated ()
 
static void create ()
 
static void destroy ()
 
- Protected Member Functions inherited from igor::iModule< iNodeManager >
 iModule ()=default
 
virtual ~iModule ()=default
 

Detailed Description

creates and destroys nodes

Member Function Documentation

◆ applyActionsAsync()

void igor::iNodeManager::applyActionsAsync ( const std::vector< iAction > &  actionQueue)

applys asynchrounous actions to nodes

Parameters
actionQueuelist of actions to be executed

◆ createCopy()

iNodePtr igor::iNodeManager::createCopy ( iNodePtr  node)

create copy of node

Parameters
nodethe node to copy

◆ createNode() [1/2]

template<class T >
T * igor::iNodeManager::createNode ( const iaString &  name)

◆ createNode() [2/2]

template<class T >
T * igor::iNodeManager::createNode ( const iaString name = "")

creates a node

Returns
pointer to new node

◆ destroyNodeAsync() [1/2]

void igor::iNodeManager::destroyNodeAsync ( iNodeID  nodeID)

destroys node and all its children

node get's destroyed in main thread in next frame

Parameters
nodeIDid of node (asynchronously)

◆ destroyNodeAsync() [2/2]

void igor::iNodeManager::destroyNodeAsync ( iNodePtr  node)

destroys node and all its children (asynchronously)

node get's destroyed in main thread in next frame

Parameters
nodepointer to node to be destroyed

◆ flush()

void igor::iNodeManager::flush ( )

flushing queues and updating scenes

◆ getNode()

IGOR_INLINE iNodePtr iNodeManager::getNode ( iNodeID  id) const

get node by id

Parameters
idid of ndoe
Returns
pointer to node

◆ getNodes() [1/2]

void igor::iNodeManager::getNodes ( std::vector< iNodeID > &  nodes)

returns list of all nodes

Parameters
[out]allnodes

◆ getNodes() [2/2]

void igor::iNodeManager::getNodes ( std::vector< iNodeID > &  nodes,
iNodeType  nodeType 
)

returns list of all nodes with given node type

Parameters
[out]nodesreturned by this function
nodeTypethe given node type

◆ insertNodeAsync()

void igor::iNodeManager::insertNodeAsync ( iNodePtr  parent,
iNodePtr  child 
)

inserts one node as child to an other (asynchronously)

the actual insertion happens in the main thread

Parameters
parentthe future parent node
childthe child to be inserted

◆ isNode()

IGOR_INLINE bool iNodeManager::isNode ( iNodeID  id) const
Returns
true if node ID exists
Parameters
idthe nodes ID

◆ removeNodeAsync()

void igor::iNodeManager::removeNodeAsync ( iNodePtr  parent,
iNodePtr  child 
)

removes one node from an other (asynchronously)

the actual removal happens in the main thread

Parameters
parentparent node
childthe child to be removed

◆ setActiveAsync()

void igor::iNodeManager::setActiveAsync ( iNodePtr  node,
bool  active 
)

sets node active/inactive (asynchronously)

Parameters
nodepointer to node
activethe active/inactive flag

Friends And Related Function Documentation

◆ iApplication

friend class iApplication
friend

◆ iModule< iNodeManager >

friend class iModule< iNodeManager >
friend

◆ iNode

friend class iNode
friend

◆ iScene

friend class iScene
friend

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