PoseMorphTagData Class Reference

#include <c4d_posemorphtagdata.h>

Inheritance diagram for PoseMorphTagData:

Protected Attributes

BaseTime m_lTime
 
Int32 m_iLevel
 
POSEMORPHTAG_FLAGS m_Flags
 
Int32 m_ActivePose
 
DynamicArray< PoseMorphData, 8 > m_Poses
 
PoseMorphData m_LastPose
 
PoseMorphData m_TmpBasePose
 
PoseMorphIndexing m_IndexTable
 
UInt64 m_DestGUID
 
BaseLinkm_pDestLink
 
UInt32 m_LastDirty
 
UInt32 m_Dirty
 
UInt32 m_baseLastDirty
 
UInt64 m_DeformerModCRC
 

Private Member Functions

 PoseMorphTagData ()
 
 ~PoseMorphTagData ()
 
virtual Bool Init ()
 
void Free ()
 
virtual Bool Read (HyperFile *hf, Int32 id, Int32 level)
 
virtual Bool Write (HyperFile *hf)
 
virtual Bool CopyToX (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trn)
 

Friends

class CAMorphNode
 

Alloc/Free

static PoseMorphTagDataAlloc ()
 
static void Free (PoseMorphTagData *&pData)
 

Morph

Int32 GetMorphCount ()
 
CAMorphGetMorph (Int32 index)
 
Int32 GetActiveMorphIndex ()
 
CAMorphGetActiveMorph ()
 
CAMorphGetMorphBase ()
 
Int32 GetMorphIndex (CAMorph *morph)
 

Additional Inherited Members

- Public Types inherited from NodeData
typedef PrivateChunk SUPER
 
- Public Member Functions inherited from NodeData
virtual Bool IsInstanceOf (cineware::Int32 id) const
 
 NodeData ()
 
BaseList2DGetNode ()
 
void SetNode (BaseList2D *ptr)
 
BaseTagGetTag (Int32 id)
 
BaseTagMakeTag (Int32 id)
 
- Public Member Functions inherited from PrivateChunk
 PrivateChunk ()
 
Bool ReadChunk (HyperFile *hf, Bool keepin=false, Bool noheader=false)
 
virtual Bool IsListHead ()
 
virtual Int32 GetType () const
 
virtual Int32 GetInstanceType () const
 
Bool ReadObject (HyperFile *hf, Bool readheader)
 
Bool WriteObject (HyperFile *hf, Int32 type)
 
Bool CopyTo (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
 
virtual Bool GetDParameter (const DescID &id, GeData &data)
 
virtual Bool SetDParameter (const DescID &id, const GeData &data)
 
Bool GetParameter (Int32 id, GeData &data)
 
Bool SetParameter (Int32 id, const GeData &data)
 
Bool GetParameter (const DescID &id, GeData &data)
 
Bool SetParameter (const DescID &id, const GeData &data)
 
virtual Int32 GetChunkLevel ()
 
- Public Member Functions inherited from GeTempPublicNode2D< PrivateChunk >
PrivateChunkGetNext () const
 
PrivateChunkGetPrev () const
 
void InsertBefore (PrivateChunk *n)
 
void InsertAfter (PrivateChunk *n)
 
void Remove ()
 
- Protected Member Functions inherited from NodeData
virtual Bool Execute ()
 
virtual Int32 GetDiskType () const
 
virtual Bool TranslateDescID (GeListNode *node, const DescID &id, DescID &res_id, GeListNode *&res_at)
 
- Protected Member Functions inherited from PrivateChunk
virtual Bool HandleSubChunk (HyperFile *hf, Int32 id, Int32 level)
 

Detailed Description

Pose morph tag storing the morph data.

Note
Has to be created with Alloc() and destroyed with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.
See also
CAMorphNode for an example.

Constructor & Destructor Documentation

◆ PoseMorphTagData()

PoseMorphTagData ( )
private

◆ ~PoseMorphTagData()

~PoseMorphTagData ( )
private

Member Function Documentation

◆ Alloc()

static PoseMorphTagData* Alloc ( )
static

Allocates a PoseMorphTagData data. Destroy the allocated PoseMorphTagData data with Free().

Returns
The allocated PoseMorphTagData data, or nullptr if the allocation failed.

◆ Free() [1/2]

static void Free ( PoseMorphTagData *&  pData)
static

Destructs PoseMorphTagData data allocated with Alloc().

Parameters
[in,out]pDataThe PoseMorphTagData data to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆ GetMorphCount()

Int32 GetMorphCount ( )

Retrieves the number of morphs. This is the number of morphs visible interface.

Returns
The number of available morphs.

◆ GetMorph()

CAMorph* GetMorph ( Int32  index)

Retrieves the morph at index.

Parameters
[in]indexThe morph index: 0 <= index < GetMorphCount()
Returns
The morph. The tag owns the pointed morph.

◆ GetActiveMorphIndex()

Int32 GetActiveMorphIndex ( )

Retrieves the index of the active morph (usually the one selected in the list).

Returns
The index of the active morph.

◆ GetActiveMorph()

CAMorph* GetActiveMorph ( )

Retrieves the active morph (usually the one selected).

Returns
The active morph. The tag owns the pointed morph.

◆ GetMorphBase()

CAMorph* GetMorphBase ( )

Retrieves the base morph. Same as calling GetMorph(0).

Returns
The base morph. The tag owns the pointed morph.

◆ GetMorphIndex()

Int32 GetMorphIndex ( CAMorph morph)

Retrieves the index for the given morph.

Parameters
[in]morphThe morph.
Returns
The index for the morph.

◆ Init()

virtual Bool Init ( )
privatevirtual

Called when an instance of a derived node data class needs to be initialized.

Returns
true if successful, otherwise false.

Reimplemented from NodeData.

◆ Free() [2/2]

void Free ( )
privatevirtual

Reimplemented from NodeData.

◆ Read()

virtual Bool Read ( HyperFile hf,
Int32  id,
Int32  level 
)
privatevirtual

Reads the node from a hyper file.

Parameters
[in]hfThe hyper file to read from. Cineware SDK owns the pointed hyper file.
[in]idThe ID of the node to read.
[in]levelThe disklevel of the node to read.
Returns
true if successful, otherwise false.

Reimplemented from NodeData.

◆ Write()

virtual Bool Write ( HyperFile hf)
privatevirtual

Reimplemented from PrivateChunk.

◆ CopyToX()

virtual Bool CopyToX ( PrivateChunk dst,
COPYFLAGS  flags,
AliasTrans trans 
)
privatevirtual

Private.

Reimplemented from NodeData.

Friends And Related Function Documentation

◆ CAMorphNode

friend class CAMorphNode
friend

Member Data Documentation

◆ m_lTime

BaseTime m_lTime
protected

◆ m_iLevel

Int32 m_iLevel
protected

◆ m_Flags

POSEMORPHTAG_FLAGS m_Flags
protected

◆ m_ActivePose

Int32 m_ActivePose
protected

◆ m_Poses

DynamicArray<PoseMorphData, 8> m_Poses
protected

◆ m_LastPose

PoseMorphData m_LastPose
protected

◆ m_TmpBasePose

PoseMorphData m_TmpBasePose
protected

◆ m_IndexTable

PoseMorphIndexing m_IndexTable
protected

◆ m_DestGUID

UInt64 m_DestGUID
protected

◆ m_pDestLink

BaseLink* m_pDestLink
protected

◆ m_LastDirty

UInt32 m_LastDirty
protected

◆ m_Dirty

UInt32 m_Dirty
protected

◆ m_baseLastDirty

UInt32 m_baseLastDirty
protected

◆ m_DeformerModCRC

UInt64 m_DeformerModCRC
protected