0.44.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 |