OpenBarnyard
 
Loading...
Searching...
No Matches
TKeyframeLibrary Class Reference

#include <TAnimation.h>

Inheritance diagram for TKeyframeLibrary:
TGenericDList::TNode

Classes

struct  TRBHeader
 

Public Member Functions

void Delete ()
 
void SetTRB (TTRB *a_pTRB)
 
TINT GetNameLength () const
 
const TCHARGetName () const
 
- Public Member Functions inherited from TGenericDList::TNode
template<typename T>
T * As ()
 
void Remove ()
 
void InsertAfter (TNode *a_pNode)
 
void InsertBefore (TNode *a_pNode)
 
TBOOL IsLinked () const
 

Static Public Member Functions

static TKeyframeLibraryCreateFromTRB (TTRB *a_pTRB, const TCHAR *a_szSymbolName)
 

Friends

class TKeyframeLibraryInstance
 

Additional Inherited Members

- Public Types inherited from TGenericDList::TNode
enum  TUninitialised { Unitiailised }
 
- Public Attributes inherited from TGenericDList::TNode
friend TGenericDList
 
- Protected Member Functions inherited from TGenericDList::TNode
 TNode ()
 
 TNode (TUninitialised)
 
 ~TNode ()
 
TNodeNext () const
 
TNodePrev () const
 
- Protected Attributes inherited from TGenericDList::TNode
TNodem_pNext
 
TNodem_pPrev
 

Detailed Description

Definition at line 95 of file TAnimation.h.

Member Function Documentation

◆ CreateFromTRB()

TKeyframeLibrary * TKeyframeLibrary::CreateFromTRB ( TTRB * a_pTRB,
const TCHAR * a_szSymbolName )
static

Definition at line 43 of file TKeyframeLibrary.cpp.

44{
45 TVALIDPTR( a_pTRB );
46 TVALIDPTR( a_szSymbolName );
47
48 TKeyframeLibrary* pLibrary = new TKeyframeLibrary;
49 TRBHeader* pTRBHeader = TSTATICCAST( TRBHeader, a_pTRB->GetSymbolAddress( a_szSymbolName ) );
50
51 TSIZE iNameLen = TStringManager::String8Length( pTRBHeader->m_szName );
52 pLibrary->m_iNameLength = TUINT8( iNameLen );
53
54 TStringManager::String8Copy( pLibrary->m_szName, pTRBHeader->m_szName, TMath::Min( iNameLen, sizeof( pLibrary->m_szName ) ) );
55 pLibrary->m_iReferenceCount = 0;
56 pLibrary->m_SomeVector = pTRBHeader->m_SomeVector;
57 pLibrary->m_iNumTranslations = pTRBHeader->m_iNumTranslations;
58 pLibrary->m_iNumQuaternions = pTRBHeader->m_iNumQuaternions;
59 pLibrary->m_iNumScales = pTRBHeader->m_iNumScales;
60 pLibrary->m_iTranslationSize = pTRBHeader->m_iTranslationSize;
61 pLibrary->m_iQuaternionSize = pTRBHeader->m_iQuaternionSize;
62 pLibrary->m_iScaleSize = pTRBHeader->m_iScaleSize;
63 pLibrary->m_pTranslations = pTRBHeader->m_pTranslations;
64 pLibrary->m_pQuaternions = pTRBHeader->m_pQuaternions;
65 pLibrary->m_pScales = pTRBHeader->m_pScales;
66
67 return pLibrary;
68}
#define TSTATICCAST(POINTERTYPE, VALUE)
Definition Defines.h:69
#define TVALIDPTR(PTR)
Definition Defines.h:139
size_t TSIZE
Definition Typedefs.h:9
uint8_t TUINT8
Definition Typedefs.h:17
TFORCEINLINE const T & Min(const T &a, const T &b)
void * GetSymbolAddress(const TCHAR *symbName)
Definition TTRB.cpp:251
static TSIZE String8Length(const TCHAR *str)
static TCHAR * String8Copy(TCHAR *dst, const TCHAR *src, TSIZE size=-1)

◆ Delete()

void TKeyframeLibrary::Delete ( )

Definition at line 28 of file TKeyframeLibrary.cpp.

29{
30 TASSERT( m_iReferenceCount == 0 );
31
32 if ( m_pTRB )
33 {
34 m_pTRB->Close();
35 delete m_pTRB;
36 m_pTRB = TNULL;
37 }
38
39 delete this;
40}
#define TASSERT(X,...)
Definition Defines.h:138
#define TNULL
Definition Typedefs.h:23

◆ GetName()

const TCHAR * TKeyframeLibrary::GetName ( ) const
inline

Definition at line 122 of file TAnimation.h.

122{ return m_szName; }

◆ GetNameLength()

TINT TKeyframeLibrary::GetNameLength ( ) const
inline

Definition at line 121 of file TAnimation.h.

121{ return m_iNameLength; }

◆ SetTRB()

void TKeyframeLibrary::SetTRB ( TTRB * a_pTRB)
inline

Definition at line 119 of file TAnimation.h.

119{ m_pTRB = a_pTRB; }

Friends And Related Symbol Documentation

◆ TKeyframeLibraryInstance

friend class TKeyframeLibraryInstance
friend

Definition at line 98 of file TAnimation.h.


The documentation for this class was generated from the following files: