protected virtual void ReadPoses( BinaryReader reader )
{
if ( !IsEOF( reader ) )
{
MeshChunkID chunkID = ReadChunk( reader );
while ( !IsEOF( reader ) &&
chunkID == MeshChunkID.Pose )
{
string name = ReadString( reader );
ushort target = ReadUShort( reader );
Pose pose = mesh.CreatePose( target, name );
while ( !IsEOF( reader ) &&
( chunkID = ReadChunk( reader ) ) == MeshChunkID.PoseVertex )
{
int vertexIndex = ReadInt( reader );
Vector3 offset = ReadVector3( reader );
pose.VertexOffsetMap[ vertexIndex ] = offset;
}
}
// grab the next chunk
if ( !IsEOF( reader ) )
{
// backpedal to the start of chunk
Seek( reader, -ChunkOverheadSize );
}
}
}