OGRE
14.3
Object-Oriented Graphics Rendering Engine
|
A pose is a linked set of vertex offsets applying to one set of vertex data. More...
#include <OgrePose.h>
Public Types | |
typedef ConstMapIterator< NormalsMap > | ConstNormalsIterator |
An iterator over the vertex offsets. More... | |
typedef ConstMapIterator< VertexOffsetMap > | ConstVertexOffsetIterator |
An iterator over the vertex offsets. More... | |
typedef MapIterator< NormalsMap > | NormalsIterator |
An iterator over the vertex offsets. More... | |
typedef std::map< uint32, Vector3f > | NormalsMap |
A collection of normals based on the vertex index. More... | |
typedef MapIterator< VertexOffsetMap > | VertexOffsetIterator |
An iterator over the vertex offsets. More... | |
typedef std::map< uint32, Vector3f > | VertexOffsetMap |
A collection of vertex offsets based on the vertex index. More... | |
Public Member Functions | |
Pose (ushort target, const String &name=BLANKSTRING) | |
Constructor. More... | |
const HardwareVertexBufferSharedPtr & | _getHardwareVertexBuffer (const VertexData *origData) const |
Get a hardware vertex buffer version of the vertex offsets. More... | |
NormalsMap & | _getNormals () |
writable access to the vertex normals for offline processing More... | |
VertexOffsetMap & | _getVertexOffsets () |
writable access to the vertex offsets for offline processing More... | |
void | addVertex (uint32 index, const Vector3f &offset) |
Adds an offset to a vertex for this pose. More... | |
void | addVertex (uint32 index, const Vector3f &offset, const Vector3f &normal) |
Adds an offset to a vertex and a new normal for this pose. More... | |
void | clearVertices (void) |
Clear all vertices. More... | |
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). More... | |
bool | getIncludesNormals () const |
Return whether the pose vertices include normals. More... | |
const String & | getName (void) const |
Return the name of the pose (may be blank) More... | |
const NormalsMap & | getNormals (void) const |
Gets a const reference to the vertex normals. More... | |
NormalsIterator | getNormalsIterator (void) |
ConstNormalsIterator | getNormalsIterator (void) const |
ushort | getTarget (void) const |
Return the target geometry index of the pose. More... | |
VertexOffsetIterator | getVertexOffsetIterator (void) |
ConstVertexOffsetIterator | getVertexOffsetIterator (void) const |
const VertexOffsetMap & | getVertexOffsets (void) const |
Gets a const reference to the vertex offsets. More... | |
void | removeVertex (uint32 index) |
Remove a vertex offset. More... | |
A pose is a linked set of vertex offsets applying to one set of vertex data.
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.
typedef std::map<uint32, Vector3f> Ogre::Pose::VertexOffsetMap |
A collection of vertex offsets based on the vertex index.
An iterator over the vertex offsets.
An iterator over the vertex offsets.
typedef std::map<uint32, Vector3f> Ogre::Pose::NormalsMap |
A collection of normals based on the vertex index.
An iterator over the vertex offsets.
An iterator over the vertex offsets.
Ogre::Pose::Pose | ( | ushort | target, |
const String & | name = BLANKSTRING |
||
) |
Constructor.
target | The target vertexdata index (0 for shared, 1+ for dedicated at the submesh index + 1) |
name | Optional name |
|
inline |
Return the name of the pose (may be blank)
|
inline |
Return the target geometry index of the pose.
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().
|
inline |
Return whether the pose vertices include normals.
Adds an offset to a vertex for this pose.
index | The vertex index |
offset | The position offset for this pose |
Adds an offset to a vertex and a new normal for this pose.
index | The vertex index |
offset | The position offset for this pose |
normal | The new vertex normal |
void Ogre::Pose::removeVertex | ( | uint32 | index | ) |
Remove a vertex offset.
void Ogre::Pose::clearVertices | ( | void | ) |
Clear all vertices.
ConstVertexOffsetIterator Ogre::Pose::getVertexOffsetIterator | ( | void | ) | const |
VertexOffsetIterator Ogre::Pose::getVertexOffsetIterator | ( | void | ) |
|
inline |
Gets a const reference to the vertex offsets.
ConstNormalsIterator Ogre::Pose::getNormalsIterator | ( | void | ) | const |
NormalsIterator Ogre::Pose::getNormalsIterator | ( | void | ) |
|
inline |
Gets a const reference to the vertex normals.
|
inline |
writable access to the vertex offsets for offline processing
|
inline |
writable access to the vertex normals for offline processing
const HardwareVertexBufferSharedPtr& Ogre::Pose::_getHardwareVertexBuffer | ( | const VertexData * | origData | ) | const |
Get a hardware vertex buffer version of the 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).