# Ogre::Pose Class Reference

A pose is a linked set of vertex offsets applying to one set of vertex data. More...

`#include <OgrePose.h>`

Inheritance diagram for Ogre::Pose:

[legend]
List of all members.

## Public Types

typedef std::map< size_t, Vector3 > | VertexOffsetMap
| A collection of vertex offsets based on the vertex index.
typedef MapIterator< VertexOffsetMap > | VertexOffsetIterator
| An iterator over the vertex offsets.
typedef ConstMapIterator< VertexOffsetMap > | ConstVertexOffsetIterator
| An iterator over the vertex offsets.

## Public Member Functions

| Pose (ushort target, const String &name=StringUtil::BLANK)
| Constructor.
virtual | ~Pose ()
const String & | getName (void) const
| Return the name of the pose (may be blank).
ushort | getTarget (void) const
| Return the target geometry index of the pose.
void | addVertex (size_t index, const Vector3 &offset)
| Adds an offset to a vertex for this pose.
void | removeVertex (size_t index)
| Remove a vertex offset.
void | clearVertexOffsets (void)
| Clear all vertex offsets.
ConstVertexOffsetIterator | getVertexOffsetIterator (void) const
| Gets an iterator over all the vertex offsets.
VertexOffsetIterator | getVertexOffsetIterator (void)
| Gets an iterator over all the vertex offsets.
const VertexOffsetMap & | getVertexOffsets (void) const
| Gets a const reference to the vertex offsets.
const HardwareVertexBufferSharedPtr & | _getHardwareVertexBuffer (size_t numVertices) const
| Get a hardware vertex buffer version of the vertex offsets.
Pose * | clone (void) const
| Clone this pose and create another one configured exactly the same way (only really useful for cloning holders of this class).
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
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 *)

## Protected Attributes

ushort | mTarget
| Target geometry index.
String | mName
| Optional name.
VertexOffsetMap | mVertexOffsetMap
| Primary storage, sparse vertex use.
HardwareVertexBufferSharedPtr | mBuffer
| Derived hardware buffer, covers all vertices.

## Detailed Description

A pose is a linked set of vertex offsets applying to one set of vertex data.

Remarks:
  The target index referred to by the pose has a meaning set by the user of this class; but for example when used by Mesh it refers to either the Mesh shared geometry (0) or a SubMesh dedicated geometry (1+). Pose instances can be referred to by keyframes in VertexAnimationTrack in order to animate based on blending poses together.

Definition at line 49 of file OgrePose.h.

## Member Typedef Documentation

typedef ConstMapIterator<VertexOffsetMap> Ogre::Pose::ConstVertexOffsetIterator

| An iterator over the vertex offsets. Definition at line 68 of file OgrePose.h.

typedef MapIterator<VertexOffsetMap> Ogre::Pose::VertexOffsetIterator

| An iterator over the vertex offsets. Definition at line 66 of file OgrePose.h.

typedef std::map<size_t, Vector3> Ogre::Pose::VertexOffsetMap

| A collection of vertex offsets based on the vertex index. Definition at line 64 of file OgrePose.h.

## Constructor & Destructor Documentation

Ogre::Pose::Pose | ( | ushort | target,
|  | const String & | name = `StringUtil::BLANK`
| ) |

Constructor.

Parameters:

  | target | The target vertexdata index (0 for shared, 1+ for dedicated at the submesh index + 1)
  | name | Optional name

virtual Ogre::Pose::~Pose | ( |  | ) | `[virtual]`

## Member Function Documentation

const HardwareVertexBufferSharedPtr& Ogre::Pose::_getHardwareVertexBuffer | ( | size_t | numVertices | ) | const

| Get a hardware vertex buffer version of the vertex offsets.

void Ogre::Pose::addVertex | ( | size_t | index,
|  | const Vector3 & | offset
| ) |

Adds an offset to a vertex for this pose.

Parameters:

  | index | The vertex index
  | offset | The position offset for this pose

void Ogre::Pose::clearVertexOffsets | ( | void |  | ) |

| Clear all vertex offsets.

Pose* Ogre::Pose::clone | ( | void |  | ) | const

| Clone this pose and create another one configured exactly the same way (only really useful for cloning holders of this class).

const String& Ogre::Pose::getName | ( | void |  | ) | const

| Return the name of the pose (may be blank). Definition at line 60 of file OgrePose.h.

ushort Ogre::Pose::getTarget | ( | void |  | ) | const

| Return the target geometry index of the pose. Definition at line 62 of file OgrePose.h.

VertexOffsetIterator Ogre::Pose::getVertexOffsetIterator | ( | void |  | ) |

| Gets an iterator over all the vertex offsets.

ConstVertexOffsetIterator Ogre::Pose::getVertexOffsetIterator | ( | void |  | ) | const

| Gets an iterator over all the vertex offsets.

const VertexOffsetMap& Ogre::Pose::getVertexOffsets | ( | void |  | ) | const

| Gets a const reference to the vertex offsets. Definition at line 87 of file OgrePose.h.

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

| Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) | `[inherited]`

| Definition at line 95 of file OgreMemoryAllocatedObject.h.

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

| Definition at line 89 of file OgreMemoryAllocatedObject.h.

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

| Definition at line 112 of file OgreMemoryAllocatedObject.h.

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

| Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) | `[inherited]`

| placement operator new Definition at line 73 of file OgreMemoryAllocatedObject.h.

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

| Definition at line 67 of file OgreMemoryAllocatedObject.h.

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

| operator new, with debug line info Definition at line 62 of file OgreMemoryAllocatedObject.h.

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

| Definition at line 84 of file OgreMemoryAllocatedObject.h.

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

| array operator new, with debug line info Definition at line 79 of file OgreMemoryAllocatedObject.h.

void Ogre::Pose::removeVertex | ( | size_t | index | ) |

| Remove a vertex offset.

## Member Data Documentation

HardwareVertexBufferSharedPtr Ogre::Pose::mBuffer`[mutable, protected]`

| Derived hardware buffer, covers all vertices. Definition at line 104 of file OgrePose.h.

String Ogre::Pose::mName`[protected]`

| Optional name. Definition at line 100 of file OgrePose.h.

ushort Ogre::Pose::mTarget`[protected]`

| Target geometry index. Definition at line 98 of file OgrePose.h.

VertexOffsetMap Ogre::Pose::mVertexOffsetMap`[protected]`

| Primary storage, sparse vertex use. Definition at line 102 of file OgrePose.h.

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

- OgrePose.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:51:03 2009