FCDController Class Reference
[COLLADA Document Geometry Entity]

A generic COLLADA controller. More...

#include <FCDController.h>

Inheritance diagram for FCDController:

FCDEntity FCDObjectWithId FCDObject FUObject List of all members.

Public Member Functions

 FCDController (FCDocument *document)
 Constructor: do not use directly.
virtual ~FCDController ()
 Destructor: do not use directly.
virtual Type GetType () const
 Retrieves the entity class type.
bool HasSkinController () const
 Retrieves whether this controller is a skin controller.
bool HasMorphController () const
 Retrieves whether this controller is a morph controller.
FCDSkinControllerCreateSkinController ()
 Sets the type of this controller to a skin controller.
FCDMorphControllerCreateMorphController ()
 Sets the type of this controller to a morph controller.
FCDSkinControllerGetSkinController ()
 Retrieves the skin controller.
const FCDSkinControllerGetSkinController () const
 See above.
FCDMorphControllerGetMorphController ()
 Retrieves the morph controller.
const FCDMorphControllerGetMorphController () const
 See above.
FCDEntityGetBaseTarget ()
 Retrieves the base target entity for this controller.
const FCDEntityGetBaseTarget () const
 See above.
FCDGeometryGetBaseGeometry ()
 Retrieves the base target geometry for this controller.
const FCDGeometryGetBaseGeometry () const
 See above.
const string & GetTargetId () const
 [INTERNAL] Retrieves the COLLADA id of the target entity.
virtual FUStatus LoadFromXML (xmlNode *controllerNode)
 [INTERNAL] Reads in the <controller> element from a given COLLADA XML tree node.
virtual xmlNode * WriteToXML (xmlNode *parentNode) const
 [INTERNAL] Writes out the <controller> element to the given COLLADA XML tree node.
FUStatus Link ()
 [INTERNAL] Links the controller entities with their many targets/influences.

Detailed Description

A generic COLLADA controller.

A COLLADA controller is used to influence a mesh. COLLADA defines two types of controller: skins (FCDSkinController) and morphers (FCDMorphController).


Constructor & Destructor Documentation

FCDController::FCDController FCDocument document  ) 
 

Constructor: do not use directly.

Instead, use the FCDLibrary::AddEntity function.

Parameters:
document The COLLADA document that owns the controller.

virtual FCDController::~FCDController  )  [virtual]
 

Destructor: do not use directly.

Instead, use the FCDLibrary::ReleaseEntity function.


Member Function Documentation

FCDMorphController* FCDController::CreateMorphController  ) 
 

Sets the type of this controller to a morph controller.

This function will release any previously created morpher or skin.

Returns:
The new morph controller.

FCDSkinController* FCDController::CreateSkinController  ) 
 

Sets the type of this controller to a skin controller.

This function will release any previously created morpher or skin.

Returns:
The new skin controller.

FCDGeometry* FCDController::GetBaseGeometry  ) 
 

Retrieves the base target geometry for this controller.

Controllers can be chained together. This function allows you to retrieve the base target geometry, if there is one.

Returns:
The base target geometry. This pointer will be NULL if no base target is defined or if the base target entity is not a geometry.

FCDEntity* FCDController::GetBaseTarget  ) 
 

Retrieves the base target entity for this controller.

The base target entity may be another controller or a geometry entity. To change the base target, use the FCDMorphController::SetBaseTarget or the FCDSkinController::SetTarget functions.

Returns:
The base target entity. This pointer will be NULL if no base target is defined.

FCDMorphController* FCDController::GetMorphController  )  [inline]
 

Retrieves the morph controller.

This pointer is only valid for skins. To verify that this is a morpher, check the HasMorphController function.

Returns:
The morph controller. This pointer will be NULL, if the controller is not a morpher.

FCDSkinController* FCDController::GetSkinController  )  [inline]
 

Retrieves the skin controller.

This pointer is only valid for skins. To verify that this is a skin, check the HasSkinController function.

Returns:
The skin controller. This pointer will be NULL, if the controller is not a skin.

const string& FCDController::GetTargetId  )  const [inline]
 

[INTERNAL] Retrieves the COLLADA id of the target entity.

This value is only useful for COLLADA 1.3 backward compatibility. For more recent COLLADA documents, this value is unused.

Returns:
The COLLADA id of the target entity.

virtual Type FCDController::GetType  )  const [inline, virtual]
 

Retrieves the entity class type.

This function is a part of the FCDEntity interface.

Returns:
The entity class type: CONTROLLER.

Reimplemented from FCDEntity.

bool FCDController::HasMorphController  )  const [inline]
 

Retrieves whether this controller is a morph controller.

Returns:
Whether this controller is a morph controller.

bool FCDController::HasSkinController  )  const [inline]
 

Retrieves whether this controller is a skin controller.

Returns:
Whether this controller is a skin controller.

FUStatus FCDController::Link  ) 
 

[INTERNAL] Links the controller entities with their many targets/influences.

This function is executed for all the controllers, after the scene graph has been imported. It is mainly used to link the skin and its bones.

Returns:
The status of the linkage.

virtual FUStatus FCDController::LoadFromXML xmlNode *  controllerNode  )  [virtual]
 

[INTERNAL] Reads in the <controller> element from a given COLLADA XML tree node.

Parameters:
controllerNode The COLLADA XML tree node.
Returns:
The status of the import. If the status is not successful, it may be dangerous to extract information from the controller.

Reimplemented from FCDEntity.

virtual xmlNode* FCDController::WriteToXML xmlNode *  parentNode  )  const [virtual]
 

[INTERNAL] Writes out the <controller> element to the given COLLADA XML tree node.

Parameters:
parentNode The COLLADA XML parent node in which to insert the controller information.
Returns:
The created element XML tree node.

Reimplemented from FCDEntity.


The documentation for this class was generated from the following file:
Generated on Fri May 12 16:44:41 2006 for FCollada by  doxygen 1.4.6-NO