#include <FCDControllerInstance.h>
Inheritance diagram for FCDControllerInstance:
Public Member Functions | |
virtual | ~FCDControllerInstance () |
Destructor. | |
virtual Type | GetType () const |
Retrieves the entity instance class type. | |
virtual FCDEntityInstance * | Clone (FCDEntityInstance *clone=NULL) const |
Clones the controller instance. | |
const FUUriList & | GetSkeletonRoots () const |
Retrieves a list of all the root joint ids for the controller. | |
FUUriList & | GetSkeletonRoots () |
void | FindSkeletonNodes (FCDSceneNodeList &skeletonNodes) const |
Retrieves a list of all the root scene nodes for the controller. | |
void | CalculateRootIds () |
Calculate our skeleton roots, based on the node list we have. | |
size_t | GetJointCount () const |
Retrieves the number of joints used by this controller. | |
void | ResetJoints () |
Reset the joint lists. | |
FCDSceneNode * | GetJoint (size_t index) |
Retrieves a specific joint. | |
const FCDSceneNode * | GetJoint (size_t index) const |
See above. | |
bool | AddJoint (FCDSceneNode *j) |
Adds an existing joint to the list of controller joints. | |
bool | FindJoint (const FCDSceneNode *joint) const |
Find a given joint in this skin instance. See above. | |
size_t | FindJointIndex (const FCDSceneNode *joint) const |
Find the index of the given joint in this skin instance. | |
void | RemoveJoint (size_t index) |
Removes a joint from the skin instance. | |
void | RemoveJoint (FCDSceneNode *joint) |
Removes a joint from the skin instance. | |
Protected Member Functions | |
FCDControllerInstance (FCDocument *document, FCDSceneNode *parent, FCDEntity::Type entityType=FCDEntity::CONTROLLER) | |
Constructor: do not use directly. | |
Friends | |
class | FCDEntityInstanceFactory |
When a COLLADA controller is instantiated, all its target(s) are instantiated in order to use them for the rendering or the logic. As such, all the information necessary to instantiate a geometry is also necessary to instantiate a controller.
Each COLLADA skin controller should instantiate its own skeleton, for this reason, the skeleton root(s) are defined at instantiation.
A controller instance should define the skeleton root joint. Previously a FCDSkinController directly linked to its joints. We now read the skeletonRoot here, and call which means that the FCDSkinController should never try and know about its own nodes. It should all be linked through here.
|
Constructor: do not use directly. Instead, use the FCDSceneNode::AddInstance function.
|
|
Adds an existing joint to the list of controller joints.
|
|
Clones the controller instance.
Reimplemented from FCDGeometryInstance. |
|
Find a given joint in this skin instance. See above.
|
|
Find the index of the given joint in this skin instance.
|
|
Retrieves a list of all the root scene nodes for the controller. This list is generated with a call to this method.
|
|
Retrieves a specific joint.
|
|
Retrieves the number of joints used by this controller. Joints only make sense when used with skin controllers. Defining the skeleton root affects the actual joints, but not the joint sids.
|
|
Retrieves a list of all the root joint ids for the controller.
|
|
Retrieves the entity instance class type. This is used to determine the up-class for the entity instance object.
Reimplemented from FCDGeometryInstance. |
|
Removes a joint from the skin instance.
|
|
Removes a joint from the skin instance.
|