#include <FCDSceneNode.h>
Inheritance diagram for FCDSceneNode:

Public Member Functions | |
| DeclareFlag (TransformsDirty, 0) | |
| Whether the transforms have been dirtied. | |
| DeclareFlag (Joint, 1) | |
| Whether the scene node is a joint. | |
| DeclareFlagCount (2) | |
| FCDSceneNode (FCDocument *document) | |
| Constructor: do not use directly. | |
| virtual | ~FCDSceneNode () |
| Destructor. | |
| virtual Type | GetType () const |
| Retrieves the type of the entity class. | |
| size_t | GetParentCount () const |
| Retrieves the number of parent nodes for this visual scene node. | |
| FCDSceneNode * | GetParent (size_t index=0) |
| Retrieves a specific parent of the visual scene node. | |
| const FCDSceneNode * | GetParent (size_t index=0) const |
| See above. | |
| const FCDSceneNode ** | GetParents () const |
| Retrieves the list of parents for the visual scene node. | |
| size_t | GetChildrenCount () const |
| Retrieves the number of child nodes for this visual scene node. | |
| FCDSceneNode * | GetChild (size_t index) |
| Retrieves a specific child of the visual scene node. | |
| const FCDSceneNode * | GetChild (size_t index) const |
| See above. | |
| const FCDSceneNode ** | GetChildren () const |
| Retrieves the list of children of the visual scene node. | |
| FCDSceneNode * | AddChildNode () |
| Creates a new child scene node. | |
| bool | AddChildNode (FCDSceneNode *sceneNode) |
| Attaches a existing scene node to this visual scene node. | |
| void | RemoveChildNode (FCDSceneNode *childNode) |
| Removes a scene node from this scene node direct child list. | |
| size_t | GetInstanceCount () const |
| Retrieves the number of entity instances at this node of the scene graph. | |
| FCDEntityInstance * | GetInstance (size_t index) |
| Retrieves a specific entity instance. | |
| const FCDEntityInstance * | GetInstance (size_t index) const |
| See above. | |
| const FCDEntityInstance ** | GetInstances () const |
| Retrieves the list of entity instances at this node of the scene graph. | |
| FCDEntityInstance * | AddInstance (FCDEntity *entity) |
| Creates a new entity instance. | |
| FCDEntityInstance * | AddInstance (FCDEntity::Type type) |
| Creates a new entity instance. | |
| size_t | GetTransformCount () const |
| Retrieves the number of transforms for this node of the scene graph. | |
| FCDTransform * | GetTransform (size_t index) |
| Retrieves a specific transform. | |
| const FCDTransform * | GetTransform (size_t index) const |
| See above. | |
| const FCDTransform ** | GetTransforms () const |
| Retrieves the list of transforms for this node of the scene graph. See above. | |
| FCDTransform * | AddTransform (FCDTransform::Type type, size_t index=(size_t)-1) |
| Creates a new transform for this visual scene node. | |
| void | GetHierarchicalAssets (FCDAssetList &assets) |
| Retrieves the asset information structures that affect this entity in its hierarchy. | |
| virtual void | GetHierarchicalAssets (FCDAssetConstList &assets) const |
| See above. | |
| virtual FCDEntity * | FindDaeId (const fm::string &daeId) |
| Retrieves the visual scene node with the given id. | |
| virtual const FCDEntity * | FindDaeId (const fm::string &daeId) const |
| See above. | |
| const fm::string & | GetSubId () const |
| Retrieves the optional sub-id of the node. | |
| void | SetSubId (const fm::string &id) |
| Sets the sub-id for this node. | |
| FCDEntity * | FindSubId (const fm::string &subId) |
| Retrieves the visual scene node with the given sub-id. | |
| const FCDEntity * | FindSubId (const fm::string &subId) const |
| See above. | |
| FCDParameterAnimatableFloat & | GetVisibility () |
| Retrieves whether the visual scene node is visible. | |
| const FCDParameterAnimatableFloat & | GetVisibility () const |
| See above. | |
| bool | IsVisible () const |
| See above. | |
| void | SetVisibility (bool isVisible) |
| Sets the visibility of the visual scene node. | |
| bool | IsTarget () const |
| Retrieves whether this visual scene node is the target of an entity. | |
| DEPRECATED (3.05A, GetJointFlag) bool IsJoint() const | |
| Retrieves whether this visual scene node is a joint. | |
| FMMatrix44 | ToMatrix () const |
| Retrieves the local transform for this visual scene node. | |
| FMMatrix44 | CalculateLocalTransform () const |
| Retrieves the local transform for this visual scene node. | |
| FMMatrix44 | CalculateWorldTransform () const |
| Retrieves the world transform for this visual scene node. | |
| virtual FCDEntity * | Clone (FCDEntity *clone=NULL, bool cloneChildren=false) const |
| Copies the entity information into a clone. | |
| void | IncrementTargetCount () |
| [INTERNAL] Increments the number of entities target this node. | |
| void | DecrementTargetCount () |
| [INTERNAL] Decrements the number of entities target this node. | |
| virtual void | CleanSubId () |
| [INTERNAL] Cleans up the sub identifiers. | |
This class is also used to represent COLLADA visual scene entities.
A visual scene node contains child scene nodes to make a tree. A visual scene node may appear multiple times within the scene graph, but checks are made to verify that there are no cycles within the graph.
A visual scene node also contained an ordered list of transformations and a list of entity instances.
NOTE: The GenerateSampledMatrixAnimation function was moved to the FCDSceneNodeTools namespace to improve DLL support.
|
|
Constructor: do not use directly. Instead, use the FCDSceneNode::AddChild function for child visual scene nodes or the FCDLibrary::AddEntity function for visual scenes.
|
|
|
Attaches a existing scene node to this visual scene node. This function will fail if attaching the given scene node to this visual scene node creates a cycle within the scene graph.
|
|
|
Creates a new child scene node.
|
|
|
Creates a new entity instance. Only geometric entities, controllers, light and cameras can be instantiated in the scene graph. To instantiate visual scene nodes, use the AddChildNode function.
|
|
|
Creates a new entity instance. Only geometric entities, controllers, light and cameras can be instantiated in the scene graph. To instantiate visual scene nodes, use the AddChildNode function.
|
|
||||||||||||
|
Creates a new transform for this visual scene node. The transforms are processed in order and COLLADA is column-major. For row-major matrix stacks, such as DirectX, this implies that the transformations will be processed in reverse order. By default, a transform is added at the end of the list.
|
|
|
Retrieves the local transform for this visual scene node. This is a shortcut to the above function. The above function will be deprecated in the future.
|
|
|
Retrieves the world transform for this visual scene node. This function is not optimized and will not work with node instances.
|
|
|
[INTERNAL] Cleans up the sub identifiers. The sub identifiers must be unique with respect to its parent. This method corrects the sub ids if there are conflicts. |
|
||||||||||||
|
Copies the entity information into a clone. All the overwriting functions of this function should call this function to copy the COLLADA id and the other entity-level information. All the up-classes of this class should implement this function. The cloned entity may reside in another document.
Reimplemented from FCDEntity. |
|
|
[INTERNAL] Decrements the number of entities target this node. To set targets, use the FCDTargetedEntity::SetTarget function. |
|
||||||||||||
|
Retrieves whether this visual scene node is a joint. Joints are called bones in 3dsMax. A joint is a scene node that is used in skinning.
|
|
|
Retrieves the visual scene node with the given id. This function looks through the whole sub-tree of visual scene nodes for the wanted COLLADA id.
Reimplemented from FCDEntity. |
|
|
Retrieves the visual scene node with the given sub-id. This function looks through the whole sub-tree of visual scene nodes for the wanted COLLADA sub-id.
|
|
|
Retrieves a specific child of the visual scene node.
|
|
|
Retrieves the list of children of the visual scene node.
|
|
|
Retrieves the number of child nodes for this visual scene node.
|
|
|
Retrieves the asset information structures that affect this entity in its hierarchy.
Reimplemented from FCDEntity. |
|
|
Retrieves a specific entity instance.
|
|
|
Retrieves the number of entity instances at this node of the scene graph.
|
|
|
Retrieves the list of entity instances at this node of the scene graph.
|
|
|
Retrieves a specific parent of the visual scene node.
|
|
|
Retrieves the number of parent nodes for this visual scene node.
|
|
|
Retrieves the list of parents for the visual scene node.
|
|
|
Retrieves the optional sub-id of the node. This sub-id is neither unique nor guaranteed to exist.
|
|
|
Retrieves a specific transform.
|
|
|
Retrieves the number of transforms for this node of the scene graph.
|
|
|
Retrieves the list of transforms for this node of the scene graph. See above.
|
|
|
Retrieves the type of the entity class.
Reimplemented from FCDEntity. |
|
|
Retrieves whether the visual scene node is visible. A hidden visual scene node will not be rendered but will still affect the world. This parameter is a floating-point value because it is animated. It should be intepreted as a Boolean value.
|
|
|
[INTERNAL] Increments the number of entities target this node. To set targets, use the FCDTargetedEntity::SetTarget function. |
|
|
Retrieves whether this visual scene node is the target of an entity.
|
|
|
Removes a scene node from this scene node direct child list. This function should be used to detach a scene node with multiple parents. To completely delete a scene node, you should use the FCDSceneNode::Release function on the scene node to delete. If the given child node is instanced multiple times within this scene node, only the first instance will be removed.
|
|
|
Sets the sub-id for this node. The sub-id of an object is not required to be unique.
|
|
|
Sets the visibility of the visual scene node. A hidden visual scene node will not be rendered but will still affect the world.
|
|
|
Retrieves the local transform for this visual scene node. This function does not handle or apply animations.
|
1.4.6-NO