OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::SkeletonDef Class Reference

#include <OgreSkeletonDef.h>

+ Inheritance diagram for Ogre::SkeletonDef:
+ Collaboration diagram for Ogre::SkeletonDef:

Classes

struct  BoneData
 
struct  DepthLevelInfo
 

Public Types

typedef vector< BoneData >::type BoneDataVec
 
typedef vector< DepthLevelInfo >
::type 
DepthLevelInfoVec
 

Public Member Functions

 SkeletonDef (const Skeleton *originalSkeleton, Real frameRate)
 Constructs this Skeleton based on the old format's Skeleton. More...
 
const SkeletonAnimationDefVecgetAnimationDefs (void) const
 
const KfTransformgetBindPose (void) const
 
const BoneDataVecgetBones (void) const
 
void getBonesPerDepth (vector< size_t >::type &out) const
 
const DepthLevelInfoVecgetDepthLevelInfo (void) const
 
const StringgetName (void) const
 
size_t getNumberOfBoneBlocks (size_t numLevels) const
 Returns the total number of bone blocks to reach the given level. More...
 
const RawSimdUniquePtr
< ArrayMatrixAf4x3,
MEMCATEGORY_ANIMATION > & 
getReverseBindPose (void) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 

Protected Types

typedef map< IdString, size_t >
::type 
BoneNameMap
 

Protected Attributes

SkeletonAnimationDefVec mAnimationDefs
 
RawSimdUniquePtr< KfTransform,
MEMCATEGORY_ANIMATION
mBindPose
 
BoneNameMap mBoneIndexByName
 
BoneDataVec mBones
 
vector< list< size_t >::type >
::type 
mBonesPerDepth
 
DepthLevelInfoVec mDepthLevelInfoVec
 
String mName
 
size_t mNumUnusedSlots
 Cached for SkeletonInstance::mUnusedNodes. More...
 
RawSimdUniquePtr
< ArrayMatrixAf4x3,
MEMCATEGORY_ANIMATION
mReverseBindPose
 

Friends

class SkeletonInstance
 

Detailed Description

Definition at line 41 of file OgreSkeletonDef.h.

Member Typedef Documentation

Definition at line 70 of file OgreSkeletonDef.h.

typedef map<IdString, size_t>::type Ogre::SkeletonDef::BoneNameMap
protected

Definition at line 82 of file OgreSkeletonDef.h.

Constructor & Destructor Documentation

Ogre::SkeletonDef::SkeletonDef ( const Skeleton originalSkeleton,
Real  frameRate 
)

Constructs this Skeleton based on the old format's Skeleton.

The frameRate parameter indicates at which framerate it was recorded (i.e. 15fps, 25fps) so that all keyframe time values end up rounded.

Remarks
If the framerate information has been lost, set it to 1.

Member Function Documentation

const SkeletonAnimationDefVec& Ogre::SkeletonDef::getAnimationDefs ( void  ) const
inline

Definition at line 112 of file OgreSkeletonDef.h.

const KfTransform* Ogre::SkeletonDef::getBindPose ( void  ) const
inline

Definition at line 114 of file OgreSkeletonDef.h.

const BoneDataVec& Ogre::SkeletonDef::getBones ( void  ) const
inline

Definition at line 111 of file OgreSkeletonDef.h.

void Ogre::SkeletonDef::getBonesPerDepth ( vector< size_t >::type &  out) const
const DepthLevelInfoVec& Ogre::SkeletonDef::getDepthLevelInfo ( void  ) const
inline

Definition at line 113 of file OgreSkeletonDef.h.

const String& Ogre::SkeletonDef::getName ( void  ) const
inline

Definition at line 109 of file OgreSkeletonDef.h.

size_t Ogre::SkeletonDef::getNumberOfBoneBlocks ( size_t  numLevels) const

Returns the total number of bone blocks to reach the given level.

i.e On SSE2, If the skeleton has 1 root node, 3 children, and 5 children of children; then the total number of blocks is 1 + 1 + 2 = 4

Parameters
numLevelsLevel depth to reach. Must be in range [0; mDepthLevelInfoVec.size]
const RawSimdUniquePtr<ArrayMatrixAf4x3, MEMCATEGORY_ANIMATION>& Ogre::SkeletonDef::getReverseBindPose ( void  ) const
inline

Definition at line 116 of file OgreSkeletonDef.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

Friends And Related Function Documentation

friend class SkeletonInstance
friend

Definition at line 43 of file OgreSkeletonDef.h.

Member Data Documentation

SkeletonAnimationDefVec Ogre::SkeletonDef::mAnimationDefs
protected

Definition at line 86 of file OgreSkeletonDef.h.

RawSimdUniquePtr<KfTransform, MEMCATEGORY_ANIMATION> Ogre::SkeletonDef::mBindPose
protected

Definition at line 88 of file OgreSkeletonDef.h.

BoneNameMap Ogre::SkeletonDef::mBoneIndexByName
protected

Definition at line 85 of file OgreSkeletonDef.h.

BoneDataVec Ogre::SkeletonDef::mBones
protected

Definition at line 84 of file OgreSkeletonDef.h.

vector<list<size_t>::type>::type Ogre::SkeletonDef::mBonesPerDepth
protected

Definition at line 96 of file OgreSkeletonDef.h.

DepthLevelInfoVec Ogre::SkeletonDef::mDepthLevelInfoVec
protected

Definition at line 91 of file OgreSkeletonDef.h.

String Ogre::SkeletonDef::mName
protected

Definition at line 98 of file OgreSkeletonDef.h.

size_t Ogre::SkeletonDef::mNumUnusedSlots
protected

Cached for SkeletonInstance::mUnusedNodes.

Definition at line 94 of file OgreSkeletonDef.h.

RawSimdUniquePtr<ArrayMatrixAf4x3, MEMCATEGORY_ANIMATION> Ogre::SkeletonDef::mReverseBindPose
protected

Definition at line 89 of file OgreSkeletonDef.h.


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