#include <FCDSkinController.h>
Inheritance diagram for FCDSkinController:
Public Member Functions | |
FCDSkinController (FCDocument *document, FCDController *parent) | |
Constructor: do not use directly. | |
virtual | ~FCDSkinController () |
Destructor. | |
FCDController * | GetParent () |
Retrieves the parent entity for the morpher. | |
const FCDController * | GetParent () const |
See above. | |
FCDEntity * | GetTarget () |
Retrieves the target entity. | |
const FCDEntity * | GetTarget () const |
FUUri | GetTargetUri () const |
Retrieves the Uri to the skin target. | |
void | SetTargetUri (const FUUri &uri) |
Sets the URI of the target mesh. | |
void | SetTarget (FCDEntity *_target) |
Sets the target entity. | |
const FMMatrix44 & | GetBindShapeTransform () const |
Retrieves the bind-pose transform of the target entity. | |
void | SetBindShapeTransform (const FMMatrix44 &bindPose) |
Sets the bind-pose transform of the target entity. | |
size_t | GetJointCount () const |
Retrieves the number of joints that influence the skin. | |
void | SetJointCount (size_t count) |
Sets the number of joints that influence the skin. | |
FCDSkinControllerJoint * | GetJoints () |
Retrieves the list of joints that influence the skin. | |
const FCDSkinControllerJoint * | GetJoints () const |
See above. | |
FCDSkinControllerJoint * | GetJoint (size_t index) |
Retrieves an indexed joint from the list of joints that influence this skin. | |
const FCDSkinControllerJoint * | GetJoint (size_t index) const |
See above. | |
FCDSkinControllerJoint * | AddJoint (const fm::string jSubId="", const FMMatrix44 &inverseBindPose=FMMatrix44::Identity) |
Adds a joint to influence the skin. | |
size_t | GetInfluenceCount () const |
Retrieves the number of vertices with influences defined in the skin controller. | |
void | SetInfluenceCount (size_t count) |
Sets the number of vertices with influences defined in the skin controller. | |
FCDSkinControllerVertex * | GetVertexInfluences () |
Retrieves a list of the per-vertex influences for the skin. | |
const FCDSkinControllerVertex * | GetVertexInfluences () const |
See above. | |
FCDSkinControllerVertex * | GetVertexInfluence (size_t index) |
Retrieves the per-vertex influences for a given vertex. | |
const FCDSkinControllerVertex * | GetVertexInfluence (size_t index) const |
See above. | |
void | ReduceInfluences (uint32 maxInfluenceCount, float minimumWeight=0.0f) |
Reduces the number of joints influencing each vertex. |
The skin controller holds the information to skin a geometric object. That information includes a target/base entity and its bind-pose matrix, a list of joints and their bind pose and the influences for the joints.
The influences are a list, for each vertex of the target entity, of which joints affect the vertex and by how much.
|
Constructor: do not use directly. Instead, use the FCDController::CreateSkinController function.
|
|
Adds a joint to influence the skin.
|
|
Retrieves the bind-pose transform of the target entity.
|
|
Retrieves the number of vertices with influences defined in the skin controller.
|
|
Retrieves an indexed joint from the list of joints that influence this skin.
|
|
Retrieves the number of joints that influence the skin.
|
|
Retrieves the list of joints that influence the skin.
|
|
Retrieves the parent entity for the morpher.
|
|
Retrieves the target entity. This entity may be a geometric entity or another controller.
|
|
Retrieves the Uri to the skin target. This can be an internal or external link
|
|
Retrieves the per-vertex influences for a given vertex.
|
|
Retrieves a list of the per-vertex influences for the skin.
|
|
Reduces the number of joints influencing each vertex. 1) All the influences with a weight less than the minimum will be removed. 2) If a vertex has more influences than the given maximum, they will be sorted and the most important influences will be kept. If some of the influences for a vertex are removed, the weight will be normalized.
|
|
Sets the bind-pose transform of the target entity.
|
|
Sets the number of vertices with influences defined in the skin controller.
|
|
Sets the number of joints that influence the skin.
|
|
Sets the target entity. This function has very important ramifications, as the number of vertices may change. The influences list will be modified to follow the number of vertices. This entity may be a geometric entity or another controller.
|
|
Sets the URI of the target mesh.
|