#include <lib_ca.h>
CAMorph class contains the data for each morph. It has to be retrieved from the CAPoseMorphTag.
Public Member Functions | |
Bool | IsPostDeform () |
Private Member Functions | |
CAMorph () | |
~CAMorph () | |
Name | |
String | GetName () |
void | SetName (const String &name) |
Miscellaneous | |
Int32 | GetID () |
Bool | CopyFrom (CAMorph *src, AliasTrans *trn, CAMORPH_COPY_FLAGS flags) |
Morph Node | |
const CAMorphNode * | Find (const CAPoseMorphTag *tag, const BaseList2D *bl) const |
CAMorphNode * | Find (CAPoseMorphTag *tag, BaseList2D *bl) |
Int32 | GetNodeIndex (const CAMorphNode *node) const |
Int32 | FindIndex (const CAPoseMorphTag *tag, const BaseList2D *bl) const |
const CAMorphNode * | FindFromIndex (const CAPoseMorphTag *tag, Int32 index) const |
CAMorphNode * | FindFromIndex (CAPoseMorphTag *tag, Int32 index) |
CAMorphNode * | GetFirst () |
Morph | |
Bool | SetMode (BaseDocument *doc, CAPoseMorphTag *tag, CAMORPH_MODE_FLAGS flags, CAMORPH_MODE mode) |
Bool | Store (BaseDocument *doc, CAPoseMorphTag *tag, CAMORPH_DATA_FLAGS flags) |
Bool | Apply (BaseDocument *doc, CAPoseMorphTag *tag, CAMORPH_DATA_FLAGS flags) |
Target | |
BaseList2D * | GetTarget (BaseDocument *doc) |
void | SetTarget (CAPoseMorphTag *tag, BaseDocument *doc, BaseList2D *bl) |
Strength | |
void | SetStrength (Float strength) |
Float | GetStrength () |
|
private |
|
private |
String GetName | ( | ) |
Retrieves the name of the morph.
void SetName | ( | const String & | name | ) |
Sets the name of the morph.
[in] | name | The new name of the morph. |
Int32 GetID | ( | ) |
Retrieves the internal ID of the morph. Each morph has an ID. This ensures that removed morphs do not affect the DescID for the sliders.
Bool CopyFrom | ( | CAMorph * | src, |
AliasTrans * | trn, | ||
CAMORPH_COPY_FLAGS | flags | ||
) |
Copies morph data from src.
[in] | src | The source morph. |
[in] | trn | An alias translator for the operation. Can be nullptr. The caller owns the pointed alias translator. |
[in] | flags | The flags: CAMORPH_COPY_FLAGS |
const CAMorphNode* Find | ( | const CAPoseMorphTag * | tag, |
const BaseList2D * | bl | ||
) | const |
Retrieves the morph node for the object specified by bl.
[in] | tag | The morph tag containing the morph node. |
[in] | bl | The object connected to the morph node. |
CAMorphNode* Find | ( | CAPoseMorphTag * | tag, |
BaseList2D * | bl | ||
) |
Retrieves the morph node for the object specified by bl.
[in] | tag | The morph tag containing the morph node. |
[in] | bl | The object connected to the morph node. |
Int32 GetNodeIndex | ( | const CAMorphNode * | node | ) | const |
Retrieves the index of the specified morph node. Each morph node can be accessed through their indices.
[in] | node | The morph node to request the index. |
Int32 FindIndex | ( | const CAPoseMorphTag * | tag, |
const BaseList2D * | bl | ||
) | const |
Retrieves the index of the morph node for the object specified by bl.
[in] | tag | The morph tag containing the morph node. |
[in] | bl | The object connected to the morph node. |
const CAMorphNode* FindFromIndex | ( | const CAPoseMorphTag * | tag, |
Int32 | index | ||
) | const |
Retrieves the morph node specified by index.
[in] | tag | The morph tag containing the morph node. |
[in] | index | The index of the requested morph node. |
CAMorphNode* FindFromIndex | ( | CAPoseMorphTag * | tag, |
Int32 | index | ||
) |
Retrieves the morph node specified by index.
[in] | tag | The morph tag containing the morph node. |
[in] | index | The index of the requested morph node. |
CAMorphNode* GetFirst | ( | ) |
Retrieves the first node of the morph.
Bool SetMode | ( | BaseDocument * | doc, |
CAPoseMorphTag * | tag, | ||
CAMORPH_MODE_FLAGS | flags, | ||
CAMORPH_MODE | mode | ||
) |
Changes the morph's mode.
Example: Point data could be stored as rotational or correctional and in a delta form (only differences from the base).
This can not be edited in this form so the data mode must be changed to relative (CAMORPH_MODE::REL) or absolute (CAMORPH_MODE::ABS) before editing and then restored to (CAMORPH_MODE::AUTO) when finished.
The flags must be passed as CAMORPH_MODE_FLAGS::EXPAND to expand the data from the delta form and then returned with CAMORPH_MODE_FLAGS::COLLAPSE when finished.
For example VAMP uses the following line to expand all data types to relative data:
It then does some changes and finally restores all types to collapsed (delta) form and to the users mode (AUTO):
[in] | doc | The document containing the morph tag. |
[in] | tag | The morph tag containing the morph data. |
[in] | flags | The flags: CAMORPH_MODE_FLAGS |
[in] | mode | The mode: CAMORPH_MODE |
Bool Store | ( | BaseDocument * | doc, |
CAPoseMorphTag * | tag, | ||
CAMORPH_DATA_FLAGS | flags | ||
) |
Stores the current object's state into the morph.
The corresponding flags have to be set for the data. This should normally be CAMORPH_DATA_FLAGS::ASTAG if it is to be used by the user.
[in] | doc | The document containing the morph tag. |
[in] | tag | The morph tag containing the morph data. |
[in] | flags | The flags: CAMORPH_DATA_FLAGS |
Bool Apply | ( | BaseDocument * | doc, |
CAPoseMorphTag * | tag, | ||
CAMORPH_DATA_FLAGS | flags | ||
) |
Applies the morph to the object. The data to be applied is set with the flags.
[in] | doc | The document containing the morph tag. |
[in] | tag | The morph tag containing the morph data. |
[in] | flags | The flags: CAMORPH_DATA_FLAGS |
BaseList2D* GetTarget | ( | BaseDocument * | doc | ) |
Retrieves the target of the morph.
[in] | doc | The document containing the morph tag. |
void SetTarget | ( | CAPoseMorphTag * | tag, |
BaseDocument * | doc, | ||
BaseList2D * | bl | ||
) |
Sets the target of the morph.
[in] | tag | The morph tag containing the morph node. |
[in] | doc | The document containing the morph tag. |
[in] | bl | The new target of the morph. |
void SetStrength | ( | Float | strength | ) |
Sets the strength of the morph.
[in] | strength | The new strength of the morph. |
Float GetStrength | ( | ) |
Retrieves the strength of the morph.
Bool IsPostDeform | ( | ) |
Retrieves if the morph is applied at PostDeform.