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