#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.