#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 | |
| CAMorphNode * | Find (CAPoseMorphTag *tag, BaseList2D *bl) |
| Int32 | GetNodeIndex (CAMorphNode *node) |
| Int32 | FindIndex (CAPoseMorphTag *tag, BaseList2D *bl) |
| 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 |
| 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 | ( | CAMorphNode * | node | ) |
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 | ( | CAPoseMorphTag * | tag, |
| BaseList2D * | bl | ||
| ) |
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. |
| 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.