|
0.45.0
|
#include <iNodeLODSwitch.h>
Inherits igor::iNode.
Public Member Functions | |
| void | setThresholds (iNodePtr node, float32 min, float32 max) |
| void | setThresholds (const iaString &nodeName, float32 min, float32 max) |
| void | setThresholds (uint32 nodeID, float32 min, float32 max) |
| void | addTrigger (iNodeLODTrigger *trigger) |
| void | removeTrigger (iNodeLODTrigger *trigger) |
| void | addTrigger (uint32 triggerID) |
| void | removeTrigger (uint32 triggerID) |
| void | update () |
| const iaVector3d & | getWorldPosition () const |
Public Member Functions inherited from igor::iNode | |
| iNodeKind | getKind () const |
| iNodeType | getType () const |
| iNodeID | getID () const |
| const iaString & | getName () const |
| virtual std::vector< iaString > | getInfo (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 |
the lod switch node switches it's child nodes active depending how far a registered LOD trigger node is away
the LOS switch node can react on multiple LOD trigger nodes
child goes active when _min <= child distance < _max
| void igor::iNodeLODSwitch::addTrigger | ( | iNodeLODTrigger * | trigger | ) |
adds a trigger that has an effect on this lod switch node
| trigger | the trigger to be added |
| void igor::iNodeLODSwitch::addTrigger | ( | uint32 | triggerID | ) |
adds a trigger that has an effect on this lod switch node by ID
| trigger | the trigger to be added |
| const iaVector3d & igor::iNodeLODSwitch::getWorldPosition | ( | ) | const |
| void igor::iNodeLODSwitch::removeTrigger | ( | iNodeLODTrigger * | trigger | ) |
removes a trigger that had an effect on this lod switch node
| trigger | the trigger to be removed |
| void igor::iNodeLODSwitch::removeTrigger | ( | uint32 | triggerID | ) |
removes a trigger that had an effect on this lod switch node by ID
| trigger | the trigger to be removed |
sets the active threashold for a specified lod level (in this case a nodes name)
| nodeName | name of node that represents a lod level |
| min | min distance the specified node is visible |
| max | max distance the specified node is visible |
sets the active threashold for a specified lod level (in this case a node)
| node | node that represents a lod level |
| min | min distance the specified node is visible |
| max | max distance the specified node is visible |
sets the active threashold for a specified lod level (in this case the nodes id)
| nodeID | id of node that represents a lod level |
| min | min distance the specified node is visible |
| max | max distance the specified node is visible |
| void igor::iNodeLODSwitch::update | ( | ) |
calculates lowest distance to triggers and updates children accordingly
|
friend |
|
friend |