OGRE-Next: Ogre::SkeletonDef Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
Ogre::SkeletonDef Class Reference

`#include <OgreSkeletonDef.h>`

Inheritance diagram for Ogre::SkeletonDef:
[legend]

## Classes
struct | BoneData
struct | DepthLevelInfo

## Public Types
typedef vector< BoneData >::type | BoneDataVec
typedef vector< uint32 >::type | BoneToSlotVec
typedef vector< DepthLevelInfo >::type | DepthLevelInfoVec
typedef map< uint32, uint32 >::type | IndexToIndexMap

## Public Member Functions
| SkeletonDef (const v1::Skeleton *originalSkeleton, Real frameRate)
| Constructs this Skeleton based on the old format's Skeleton.
const SkeletonAnimationDefVec & | getAnimationDefs () const
const KfTransform * | getBindPose () const
const BoneDataVec & | getBones () const
void | getBonesPerDepth (vector< size_t >::type &out) const
const BoneToSlotVec & | getBoneToSlot () const
const DepthLevelInfoVec & | getDepthLevelInfo () const
const String & | getNameStr () const
size_t | getNumberOfBoneBlocks (size_t numLevels) const
| Returns the total number of bone blocks to reach the given level.
const RawSimdUniquePtr< ArrayMatrixAf4x3, MEMCATEGORY_ANIMATION > & | getReverseBindPose () const
const IndexToIndexMap & | getSlotToBone () const

## Static Public Member Functions
static uint32 | blockIdxToSlotStart (uint32 blockIdx)
| Convertes a block index back to a slot index.
static uint32 | slotToBlockIdx (uint32 slotIdx)
| Converts a "Slot index" to a block index.

## Member Typedef Documentation

## ◆ BoneDataVec

typedef vector<BoneData>::type Ogre::SkeletonDef::BoneDataVec

## ◆ BoneToSlotVec

typedef vector<uint32>::type Ogre::SkeletonDef::BoneToSlotVec

## ◆ DepthLevelInfoVec

typedef vector<DepthLevelInfo>::type Ogre::SkeletonDef::DepthLevelInfoVec

## ◆ IndexToIndexMap

typedef map<uint32,uint32>::type Ogre::SkeletonDef::IndexToIndexMap

## Constructor & Destructor Documentation

## ◆ SkeletonDef()

Ogre::SkeletonDef::SkeletonDef | ( | const v1::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

## ◆ blockIdxToSlotStart()

static uint32 Ogre::SkeletonDef::blockIdxToSlotStart | ( | uint32 | blockIdx | ) |
| inlinestatic

Convertes a block index back to a slot index.

However the slot points at the start of the SIMD block.

See also
  slotToBlockIdx and
  mSlotToBone

Parameters

  blockIdx | The block index

Returns
  The slot index.

References ARRAY_PACKED_REALS.

## ◆ getAnimationDefs()

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

## ◆ getBindPose()

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

## ◆ getBones()

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

## ◆ getBonesPerDepth()

void Ogre::SkeletonDef::getBonesPerDepth | ( | vector< size_t >::type & | out | ) | const

## ◆ getBoneToSlot()

const BoneToSlotVec & Ogre::SkeletonDef::getBoneToSlot | ( |  | ) | const
| inline

See also
  mBoneToSlot

## ◆ getDepthLevelInfo()

const DepthLevelInfoVec & Ogre::SkeletonDef::getDepthLevelInfo | ( |  | ) | const
| inline

## ◆ getNameStr()

const String & Ogre::SkeletonDef::getNameStr | ( |  | ) | const
| inline

## ◆ getNumberOfBoneBlocks()

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

  numLevels | Level depth to reach. Must be in range [0; mDepthLevelInfoVec.size]

## ◆ getReverseBindPose()

const RawSimdUniquePtr< ArrayMatrixAf4x3, MEMCATEGORY_ANIMATION > & Ogre::SkeletonDef::getReverseBindPose | ( |  | ) | const
| inline

## ◆ getSlotToBone()

const IndexToIndexMap & Ogre::SkeletonDef::getSlotToBone | ( |  | ) | const
| inline

See also
  mSlotToBone

## ◆ slotToBlockIdx()

static uint32 Ogre::SkeletonDef::slotToBlockIdx | ( | uint32 | slotIdx | ) |
| inlinestatic

Converts a "Slot index" to a block index.

See also
  mSlotToBone Slot indices contain the information about the bone's depth level in the hierarchy, and an index to the exact bone. Block indices also contain the depth level, but an index to the start of the SIMD block.

Remarks
  Converting to a "block index" is a lossy process. Information pointing to the individual bone is lost; and only the start of the block is preserved. e.g. if ARRAY_PACKED_REALS = 4, and the slot index is pointing to the slot 3; the block index will reset the slot to 0. If the slot index is pointing to slot 6, the index will reset to slot 4, which is the first in the SIMD block

Parameters

  slotIdx | The slot index.

Returns
  The block index.

References ARRAY_PACKED_REALS.

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

- OgreSkeletonDef.h