Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::Pose Class Reference

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

#include <OgrePose.h>

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< VertexOffsetMapVertexOffsetIterator
 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 StringgetName (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 VertexOffsetMapgetVertexOffsets (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.


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 45 of file OgrePose.h.


Member Typedef Documentation

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

An iterator over the vertex offsets.

Definition at line 64 of file OgrePose.h.

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

An iterator over the vertex offsets.

Definition at line 62 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 60 of file OgrePose.h.

Referenced by getVertexOffsets().


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.

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

Return the name of the pose (may be blank).

Definition at line 56 of file OgrePose.h.

References Ogre::String.

ushort Ogre::Pose::getTarget void   )  const
 

Return the target geometry index of the pose.

Definition at line 58 of file OgrePose.h.

References Ogre::ushort.

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 83 of file OgrePose.h.

References VertexOffsetMap.

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 95 of file OgrePose.h.

String Ogre::Pose::mName [protected]
 

Optional name.

Definition at line 91 of file OgrePose.h.

ushort Ogre::Pose::mTarget [protected]
 

Target geometry index.

Definition at line 89 of file OgrePose.h.

VertexOffsetMap Ogre::Pose::mVertexOffsetMap [protected]
 

Primary storage, sparse vertex use.

Definition at line 93 of file OgrePose.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:41:42 2006