Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Concrete IteratorWrapper for const access to the underlying key-value container.
Shared pointer implementation used to share vertex buffers.
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
A pose is a linked set of vertex offsets applying to one set of vertex data.
VertexOffsetIterator getVertexOffsetIterator(void)
Gets an iterator over all the vertex offsets.
const VertexOffsetMap & getVertexOffsets(void) const
Gets a const reference to the vertex offsets.
void removeVertex(size_t index)
Remove a vertex offset.
const String & getName(void) const
Return the name of the pose (may be blank)
map< size_t, Vector3 >::type VertexOffsetMap
A collection of vertex offsets based on the vertex index.
ConstNormalsIterator getNormalsIterator(void) const
Gets an iterator over all the vertex offsets.
MapIterator< NormalsMap > NormalsIterator
An iterator over the vertex offsets.
Pose(ushort target, const String &name=StringUtil::BLANK)
Constructor.
HardwareVertexBufferSharedPtr mBuffer
Derived hardware buffer, covers all vertices.
bool getIncludesNormals() const
Return whether the pose vertices include normals.
String mName
Optional name.
ConstMapIterator< NormalsMap > ConstNormalsIterator
An iterator over the vertex offsets.
ConstVertexOffsetIterator getVertexOffsetIterator(void) const
Gets an iterator over all the vertex offsets.
const NormalsMap & getNormals(void) const
Gets a const reference to the vertex offsets.
map< size_t, Vector3 >::type NormalsMap
A collection of normals based on the vertex index.
ushort getTarget(void) const
Return the target geometry index of the pose.
NormalsMap mNormalsMap
Primary storage, sparse vertex use.
MapIterator< VertexOffsetMap > VertexOffsetIterator
An iterator over the vertex offsets.
void clearVertices(void)
Clear all vertices.
NormalsIterator getNormalsIterator(void)
Gets an iterator over all the vertex offsets.
ConstMapIterator< VertexOffsetMap > ConstVertexOffsetIterator
An iterator over the vertex offsets.
const HardwareVertexBufferSharedPtr & _getHardwareVertexBuffer(const VertexData *origData) const
Get a hardware vertex buffer version of the vertex offsets.
VertexOffsetMap mVertexOffsetMap
Primary storage, sparse vertex use.
void addVertex(size_t index, const Vector3 &offset)
Adds an offset to a vertex for this pose.
Pose * clone(void) const
Clone this pose and create another one configured exactly the same way (only really useful for clonin...
ushort mTarget
Target geometry index.
void addVertex(size_t index, const Vector3 &offset, const Vector3 &normal)
Adds an offset to a vertex and a new normal for this pose.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
Standard 3-dimensional vector.
Summary class collecting together vertex source information.
vector< Pose * >::type PoseList