OGRE  1.9.0
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:

Public Types

typedef ConstMapIterator< NormalsMapConstNormalsIterator
 An iterator over the vertex offsets.
 
typedef ConstMapIterator< VertexOffsetMapConstVertexOffsetIterator
 An iterator over the vertex offsets.
 
typedef MapIterator< NormalsMapNormalsIterator
 An iterator over the vertex offsets.
 
typedef map< size_t, Vector3 >::type NormalsMap
 A collection of normals based on the vertex index.
 
typedef MapIterator< VertexOffsetMapVertexOffsetIterator
 An iterator over the vertex offsets.
 
typedef map< size_t, Vector3 >::type VertexOffsetMap
 A collection of vertex offsets based on the vertex index.
 

Public Member Functions

 Pose (ushort target, const String &name=StringUtil::BLANK)
 Constructor.
 
virtual ~Pose ()
 
const HardwareVertexBufferSharedPtr_getHardwareVertexBuffer (const VertexData *origData) const
 Get a hardware vertex buffer version of the vertex offsets.
 
void addVertex (size_t index, const Vector3 &offset)
 Adds an offset to a vertex for this pose.
 
void addVertex (size_t index, const Vector3 &offset, const Vector3 &normal)
 Adds an offset to a vertex and a new normal for this pose.
 
void clearVertices (void)
 Clear all vertices.
 
Poseclone (void) const
 Clone this pose and create another one configured exactly the same way (only really useful for cloning holders of this class).
 
bool getIncludesNormals () const
 Return whether the pose vertices include normals.
 
const StringgetName (void) const
 Return the name of the pose (may be blank)
 
const NormalsMapgetNormals (void) const
 Gets a const reference to the vertex offsets.
 
NormalsIterator getNormalsIterator (void)
 Gets an iterator over all the vertex offsets.
 
ConstNormalsIterator getNormalsIterator (void) const
 Gets an iterator over all the vertex offsets.
 
ushort getTarget (void) const
 Return the target geometry index of the pose.
 
VertexOffsetIterator getVertexOffsetIterator (void)
 Gets an iterator over all the vertex offsets.
 
ConstVertexOffsetIterator getVertexOffsetIterator (void) const
 Gets an iterator over all the vertex offsets.
 
const VertexOffsetMapgetVertexOffsets (void) const
 Gets a const reference to the vertex offsets.
 
void operator delete (void *ptr)
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz)
 
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, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz)
 
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, const char *file, int line, const char *func)
 array operator new, with debug line info
 
void removeVertex (size_t index)
 Remove a vertex offset.
 

Protected Attributes

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

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

Member Typedef Documentation

◆ ConstNormalsIterator

An iterator over the vertex offsets.

Definition at line 80 of file OgrePose.h.

◆ ConstVertexOffsetIterator

An iterator over the vertex offsets.

Definition at line 74 of file OgrePose.h.

◆ NormalsIterator

An iterator over the vertex offsets.

Definition at line 78 of file OgrePose.h.

◆ NormalsMap

typedef map<size_t,Vector3>::type Ogre::Pose::NormalsMap

A collection of normals based on the vertex index.

Definition at line 76 of file OgrePose.h.

◆ VertexOffsetIterator

An iterator over the vertex offsets.

Definition at line 72 of file OgrePose.h.

◆ VertexOffsetMap

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

A collection of vertex offsets based on the vertex index.

Definition at line 70 of file OgrePose.h.

Constructor & Destructor Documentation

◆ Pose()

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

Constructor.

Parameters
targetThe target vertexdata index (0 for shared, 1+ for dedicated at the submesh index + 1)
nameOptional name

References Ogre::StringUtil::BLANK.

Referenced by clone().

◆ ~Pose()

virtual Ogre::Pose::~Pose ( )
virtual

Member Function Documentation

◆ _getHardwareVertexBuffer()

const HardwareVertexBufferSharedPtr & Ogre::Pose::_getHardwareVertexBuffer ( const VertexData * origData) const

Get a hardware vertex buffer version of the vertex offsets.

◆ addVertex() [1/2]

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

Adds an offset to a vertex for this pose.

Parameters
indexThe vertex index
offsetThe position offset for this pose

◆ addVertex() [2/2]

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

Adds an offset to a vertex and a new normal for this pose.

Parameters
indexThe vertex index
offsetThe position offset for this pose

◆ clearVertices()

void Ogre::Pose::clearVertices ( void )

Clear all vertices.

◆ clone()

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).

References Pose().

◆ getIncludesNormals()

bool Ogre::Pose::getIncludesNormals ( ) const

Return whether the pose vertices include normals.

Definition at line 82 of file OgrePose.h.

References mNormalsMap.

◆ getName()

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

Return the name of the pose (may be blank)

Definition at line 66 of file OgrePose.h.

References mName.

◆ getNormals()

const NormalsMap & Ogre::Pose::getNormals ( void ) const

Gets a const reference to the vertex offsets.

Definition at line 114 of file OgrePose.h.

References mNormalsMap.

◆ getNormalsIterator() [1/2]

NormalsIterator Ogre::Pose::getNormalsIterator ( void )

Gets an iterator over all the vertex offsets.

◆ getNormalsIterator() [2/2]

ConstNormalsIterator Ogre::Pose::getNormalsIterator ( void ) const

Gets an iterator over all the vertex offsets.

◆ getTarget()

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

Return the target geometry index of the pose.

Definition at line 68 of file OgrePose.h.

References mTarget.

◆ getVertexOffsetIterator() [1/2]

VertexOffsetIterator Ogre::Pose::getVertexOffsetIterator ( void )

Gets an iterator over all the vertex offsets.

◆ getVertexOffsetIterator() [2/2]

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

Gets an iterator over all the vertex offsets.

◆ getVertexOffsets()

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

Gets a const reference to the vertex offsets.

Definition at line 107 of file OgrePose.h.

References mVertexOffsetMap.

◆ operator delete() [1/6]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete ( void * ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/6]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete ( void * ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/6]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [4/6]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [5/6]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete ( void * ptr,
void *  )
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [6/6]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete ( void * ptr,
void *  )
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [1/4]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete[] ( void * ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [2/4]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete[] ( void * ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [3/4]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete[] ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [4/4]

void Ogre::AllocatedObject< AnimationAllocPolicy >::operator delete[] ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/6]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new ( size_t sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/6]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new ( size_t sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/6]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new ( size_t sz,
const char * file,
int line,
const char * func )
inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [4/6]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new ( size_t sz,
const char * file,
int line,
const char * func )
inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [5/6]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new ( size_t sz,
void * ptr )
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new() [6/6]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new ( size_t sz,
void * ptr )
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [1/4]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new[] ( size_t sz)
inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [2/4]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new[] ( size_t sz)
inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [3/4]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new[] ( size_t sz,
const char * file,
int line,
const char * func )
inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [4/4]

void * Ogre::AllocatedObject< AnimationAllocPolicy >::operator new[] ( size_t sz,
const char * file,
int line,
const char * func )
inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ removeVertex()

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

Remove a vertex offset.

Member Data Documentation

◆ mBuffer

HardwareVertexBufferSharedPtr Ogre::Pose::mBuffer
mutableprotected

Derived hardware buffer, covers all vertices.

Definition at line 133 of file OgrePose.h.

◆ mName

String Ogre::Pose::mName
protected

Optional name.

Definition at line 127 of file OgrePose.h.

Referenced by getName().

◆ mNormalsMap

NormalsMap Ogre::Pose::mNormalsMap
protected

Primary storage, sparse vertex use.

Definition at line 131 of file OgrePose.h.

Referenced by getIncludesNormals(), and getNormals().

◆ mTarget

ushort Ogre::Pose::mTarget
protected

Target geometry index.

Definition at line 125 of file OgrePose.h.

Referenced by getTarget().

◆ mVertexOffsetMap

VertexOffsetMap Ogre::Pose::mVertexOffsetMap
protected

Primary storage, sparse vertex use.

Definition at line 129 of file OgrePose.h.

Referenced by getVertexOffsets().


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