Ogre::SkeletonSerializer Class Reference
Animation

Class for serialising skeleton data to/from an OGRE .skeleton file. More...

`#include <OgreSkeletonSerializer.h>`

Inheritance diagram for Ogre::SkeletonSerializer:
[legend]

List of all members.

## Public Types

enum | Endian { ENDIAN_NATIVE, ENDIAN_BIG, ENDIAN_LITTLE }
| The endianness of written files. More...

## Public Member Functions

| SkeletonSerializer ()
virtual | ~SkeletonSerializer ()
void | exportSkeleton (const Skeleton *pSkeleton, const String &filename, SkeletonVersion ver=SKELETON_VERSION_LATEST, Endian endianMode=ENDIAN_NATIVE)
| Exports a skeleton to the file specified.
void | exportSkeleton (const Skeleton *pSkeleton, DataStreamPtr stream, SkeletonVersion ver=SKELETON_VERSION_LATEST, Endian endianMode=ENDIAN_NATIVE)
| Exports a skeleton to the stream specified.
void | importSkeleton (DataStreamPtr &stream, Skeleton *pDest)
| Imports Skeleton and animation data from a .skeleton file DataStream.
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 * | operator new (size_t sz, void *ptr)
| placement operator new
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)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## Protected Member Functions

void | setWorkingVersion (SkeletonVersion ver)
void | writeSkeleton (const Skeleton *pSkel, SkeletonVersion ver)
void | writeBone (const Skeleton *pSkel, const Bone *pBone)
void | writeBoneParent (const Skeleton *pSkel, unsigned short boneId, unsigned short parentId)
void | writeAnimation (const Skeleton *pSkel, const Animation *anim, SkeletonVersion ver)
void | writeAnimationTrack (const Skeleton *pSkel, const NodeAnimationTrack *track)
void | writeKeyFrame (const Skeleton *pSkel, const TransformKeyFrame *key)
void | writeSkeletonAnimationLink (const Skeleton *pSkel, const LinkedSkeletonAnimationSource &link)
void | readFileHeader (DataStreamPtr &stream)
void | readBone (DataStreamPtr &stream, Skeleton *pSkel)
void | readBoneParent (DataStreamPtr &stream, Skeleton *pSkel)
void | readAnimation (DataStreamPtr &stream, Skeleton *pSkel)
void | readAnimationTrack (DataStreamPtr &stream, Animation *anim, Skeleton *pSkel)
void | readKeyFrame (DataStreamPtr &stream, NodeAnimationTrack *track, Skeleton *pSkel)
void | readSkeletonAnimationLink (DataStreamPtr &stream, Skeleton *pSkel)
size_t | calcBoneSize (const Skeleton *pSkel, const Bone *pBone)
size_t | calcBoneSizeWithoutScale (const Skeleton *pSkel, const Bone *pBone)
size_t | calcBoneParentSize (const Skeleton *pSkel)
size_t | calcAnimationSize (const Skeleton *pSkel, const Animation *pAnim)
size_t | calcAnimationTrackSize (const Skeleton *pSkel, const NodeAnimationTrack *pTrack)
size_t | calcKeyFrameSize (const Skeleton *pSkel, const TransformKeyFrame *pKey)
size_t | calcKeyFrameSizeWithoutScale (const Skeleton *pSkel, const TransformKeyFrame *pKey)
size_t | calcSkeletonAnimationLinkSize (const Skeleton *pSkel, const LinkedSkeletonAnimationSource &link)
virtual void | writeFileHeader (void)
virtual void | writeChunkHeader (uint16 id, size_t size)
void | writeFloats (const float *const pfloat, size_t count)
void | writeFloats (const double *const pfloat, size_t count)
void | writeShorts (const uint16 *const pShort, size_t count)
void | writeInts (const uint32 *const pInt, size_t count)
void | writeBools (const bool *const pLong, size_t count)
void | writeObject (const Vector3 &vec)
void | writeObject (const Quaternion &q)
void | writeString (const String &string)
void | writeData (const void *const buf, size_t size, size_t count)
virtual unsigned short | readChunk (DataStreamPtr &stream)
void | readBools (DataStreamPtr &stream, bool *pDest, size_t count)
void | readFloats (DataStreamPtr &stream, float *pDest, size_t count)
void | readFloats (DataStreamPtr &stream, double *pDest, size_t count)
void | readShorts (DataStreamPtr &stream, uint16 *pDest, size_t count)
void | readInts (DataStreamPtr &stream, uint32 *pDest, size_t count)
void | readObject (DataStreamPtr &stream, Vector3 &pDest)
void | readObject (DataStreamPtr &stream, Quaternion &pDest)
String | readString (DataStreamPtr &stream)
String | readString (DataStreamPtr &stream, size_t numChars)
virtual void | flipToLittleEndian (void *pData, size_t size, size_t count=1)
virtual void | flipFromLittleEndian (void *pData, size_t size, size_t count=1)
virtual void | flipEndian (void *pData, size_t size, size_t count)
virtual void | flipEndian (void *pData, size_t size)
virtual void | determineEndianness (DataStreamPtr &stream)
| Determine the endianness of the incoming stream compared to native.
virtual void | determineEndianness (Endian requestedEndian)
| Determine the endianness to write with based on option.

## Protected Attributes

uint32 | mCurrentstreamLen
DataStreamPtr | mStream
String | mVersion
bool | mFlipEndian

## Detailed Description

Class for serialising skeleton data to/from an OGRE .skeleton file.

Remarks:
  This class allows exporters to write OGRE .skeleton files easily, and allows the OGRE engine to import .skeleton files into instantiated OGRE Skeleton objects. Note that a .skeleton file includes not only the Skeleton, but also definitions of any Animations it uses.

  To export a Skeleton:
  1. Create a Skeleton object and populate it using it's methods.
  2. Call the exportSkeleton method

Definition at line 68 of file OgreSkeletonSerializer.h.

## Member Enumeration Documentation

enum Ogre::Serializer::Endian`[inherited]`

The endianness of written files.

Enumerator:

  ENDIAN_NATIVE | Use the platform native endian.
  ENDIAN_BIG | Use big endian (0x1000 is serialised as 0x10 0x00)
  ENDIAN_LITTLE | Use little endian (0x1000 is serialised as 0x00 0x10)

Definition at line 56 of file OgreSerializer.h.

## Constructor & Destructor Documentation

Ogre::SkeletonSerializer::SkeletonSerializer | ( |  | ) |

virtual Ogre::SkeletonSerializer::~SkeletonSerializer | ( |  | ) | `[virtual]`

## Member Function Documentation

size_t Ogre::SkeletonSerializer::calcAnimationSize | ( | const Skeleton * | pSkel,
|  | const Animation * | pAnim
| ) |  | `[protected]`

size_t Ogre::SkeletonSerializer::calcAnimationTrackSize | ( | const Skeleton * | pSkel,
|  | const NodeAnimationTrack * | pTrack
| ) |  | `[protected]`

size_t Ogre::SkeletonSerializer::calcBoneParentSize | ( | const Skeleton * | pSkel | ) | `[protected]`

size_t Ogre::SkeletonSerializer::calcBoneSize | ( | const Skeleton * | pSkel,
|  | const Bone * | pBone
| ) |  | `[protected]`

size_t Ogre::SkeletonSerializer::calcBoneSizeWithoutScale | ( | const Skeleton * | pSkel,
|  | const Bone * | pBone
| ) |  | `[protected]`

size_t Ogre::SkeletonSerializer::calcKeyFrameSize | ( | const Skeleton * | pSkel,
|  | const TransformKeyFrame * | pKey
| ) |  | `[protected]`

size_t Ogre::SkeletonSerializer::calcKeyFrameSizeWithoutScale | ( | const Skeleton * | pSkel,
|  | const TransformKeyFrame * | pKey
| ) |  | `[protected]`

size_t Ogre::SkeletonSerializer::calcSkeletonAnimationLinkSize | ( | const Skeleton * | pSkel,
|  | const LinkedSkeletonAnimationSource & | link
| ) |  | `[protected]`

virtual void Ogre::Serializer::determineEndianness | ( | DataStreamPtr & | stream | ) | `[protected, virtual, inherited]`

Determine the endianness of the incoming stream compared to native.

virtual void Ogre::Serializer::determineEndianness | ( | Endian | requestedEndian | ) | `[protected, virtual, inherited]`

Determine the endianness to write with based on option.

void Ogre::SkeletonSerializer::exportSkeleton | ( | const Skeleton * | pSkeleton,
|  | const String & | filename,
|  | SkeletonVersion | ver = `SKELETON_VERSION_LATEST`,
|  | Endian | endianMode = `ENDIAN_NATIVE`
| ) |  |

Exports a skeleton to the file specified.

Remarks:
  This method takes an externally created Skeleton object, and exports both it and animations it uses to a .skeleton file.

Parameters:

  pSkeleton | Weak reference to the Skeleton to export
  filename | The destination filename
  endianMode | The endian mode to write in

void Ogre::SkeletonSerializer::exportSkeleton | ( | const Skeleton * | pSkeleton,
|  | DataStreamPtr | stream,
|  | SkeletonVersion | ver = `SKELETON_VERSION_LATEST`,
|  | Endian | endianMode = `ENDIAN_NATIVE`
| ) |  |

Exports a skeleton to the stream specified.

Remarks:
  This method takes an externally created Skeleton object, and exports both it and animations it uses to a .skeleton file.

Parameters:

  pSkeleton | Weak reference to the Skeleton to export
  stream | The destination stream
  endianMode | The endian mode to write in

virtual void Ogre::Serializer::flipEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count
| ) |  | `[protected, virtual, inherited]`

virtual void Ogre::Serializer::flipEndian | ( | void * | pData,
|  | size_t | size
| ) |  | `[protected, virtual, inherited]`

virtual void Ogre::Serializer::flipFromLittleEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count = `1`
| ) |  | `[protected, virtual, inherited]`

virtual void Ogre::Serializer::flipToLittleEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count = `1`
| ) |  | `[protected, virtual, inherited]`

void Ogre::SkeletonSerializer::importSkeleton | ( | DataStreamPtr & | stream,
|  | Skeleton * | pDest
| ) |  |

Imports Skeleton and animation data from a .skeleton file DataStream.

Remarks:
  This method imports data from a DataStream opened from a .skeleton file and places it's contents into the Skeleton object which is passed in.

Parameters:

  stream | The DataStream holding the .skeleton data. Must be initialised (pos at the start of the buffer).
  pDest | Weak reference to the Skeleton object which will receive the data. Should be blank already.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 90 of file OgreMemoryAllocatedObject.h.

void Ogre::SkeletonSerializer::readAnimation | ( | DataStreamPtr & | stream,
|  | Skeleton * | pSkel
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::readAnimationTrack | ( | DataStreamPtr & | stream,
|  | Animation * | anim,
|  | Skeleton * | pSkel
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::readBone | ( | DataStreamPtr & | stream,
|  | Skeleton * | pSkel
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::readBoneParent | ( | DataStreamPtr & | stream,
|  | Skeleton * | pSkel
| ) |  | `[protected]`

void Ogre::Serializer::readBools | ( | DataStreamPtr & | stream,
|  | bool * | pDest,
|  | size_t | count
| ) |  | `[protected, inherited]`

virtual unsigned short Ogre::Serializer::readChunk | ( | DataStreamPtr & | stream | ) | `[protected, virtual, inherited]`

void Ogre::SkeletonSerializer::readFileHeader | ( | DataStreamPtr & | stream | ) | `[protected, virtual]`

Reimplemented from Ogre::Serializer.

void Ogre::Serializer::readFloats | ( | DataStreamPtr & | stream,
|  | float * | pDest,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::Serializer::readFloats | ( | DataStreamPtr & | stream,
|  | double * | pDest,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::Serializer::readInts | ( | DataStreamPtr & | stream,
|  | uint32 * | pDest,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::SkeletonSerializer::readKeyFrame | ( | DataStreamPtr & | stream,
|  | NodeAnimationTrack * | track,
|  | Skeleton * | pSkel
| ) |  | `[protected]`

void Ogre::Serializer::readObject | ( | DataStreamPtr & | stream,
|  | Vector3 & | pDest
| ) |  | `[protected, inherited]`

void Ogre::Serializer::readObject | ( | DataStreamPtr & | stream,
|  | Quaternion & | pDest
| ) |  | `[protected, inherited]`

void Ogre::Serializer::readShorts | ( | DataStreamPtr & | stream,
|  | uint16 * | pDest,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::SkeletonSerializer::readSkeletonAnimationLink | ( | DataStreamPtr & | stream,
|  | Skeleton * | pSkel
| ) |  | `[protected]`

String Ogre::Serializer::readString | ( | DataStreamPtr & | stream | ) | `[protected, inherited]`

String Ogre::Serializer::readString | ( | DataStreamPtr & | stream,
|  | size_t | numChars
| ) |  | `[protected, inherited]`

void Ogre::SkeletonSerializer::setWorkingVersion | ( | SkeletonVersion | ver | ) | `[protected]`

void Ogre::SkeletonSerializer::writeAnimation | ( | const Skeleton * | pSkel,
|  | const Animation * | anim,
|  | SkeletonVersion | ver
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::writeAnimationTrack | ( | const Skeleton * | pSkel,
|  | const NodeAnimationTrack * | track
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::writeBone | ( | const Skeleton * | pSkel,
|  | const Bone * | pBone
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::writeBoneParent | ( | const Skeleton * | pSkel,
|  | unsigned short | boneId,
|  | unsigned short | parentId
| ) |  | `[protected]`

void Ogre::Serializer::writeBools | ( | const bool *const | pLong,
|  | size_t | count
| ) |  | `[protected, inherited]`

virtual void Ogre::Serializer::writeChunkHeader | ( | uint16 | id,
|  | size_t | size
| ) |  | `[protected, virtual, inherited]`

void Ogre::Serializer::writeData | ( | const void *const | buf,
|  | size_t | size,
|  | size_t | count
| ) |  | `[protected, inherited]`

virtual void Ogre::Serializer::writeFileHeader | ( | void |  | ) | `[protected, virtual, inherited]`

void Ogre::Serializer::writeFloats | ( | const float *const | pfloat,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::Serializer::writeFloats | ( | const double *const | pfloat,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::Serializer::writeInts | ( | const uint32 *const | pInt,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::SkeletonSerializer::writeKeyFrame | ( | const Skeleton * | pSkel,
|  | const TransformKeyFrame * | key
| ) |  | `[protected]`

void Ogre::Serializer::writeObject | ( | const Vector3 & | vec | ) | `[protected, inherited]`

void Ogre::Serializer::writeObject | ( | const Quaternion & | q | ) | `[protected, inherited]`

void Ogre::Serializer::writeShorts | ( | const uint16 *const | pShort,
|  | size_t | count
| ) |  | `[protected, inherited]`

void Ogre::SkeletonSerializer::writeSkeleton | ( | const Skeleton * | pSkel,
|  | SkeletonVersion | ver
| ) |  | `[protected]`

void Ogre::SkeletonSerializer::writeSkeletonAnimationLink | ( | const Skeleton * | pSkel,
|  | const LinkedSkeletonAnimationSource & | link
| ) |  | `[protected]`

void Ogre::Serializer::writeString | ( | const String & | string | ) | `[protected, inherited]`

## Member Data Documentation

uint32 Ogre::Serializer::mCurrentstreamLen`[protected, inherited]`

Definition at line 69 of file OgreSerializer.h.

bool Ogre::Serializer::mFlipEndian`[protected, inherited]`

Definition at line 72 of file OgreSerializer.h.

DataStreamPtr Ogre::Serializer::mStream`[protected, inherited]`

Definition at line 70 of file OgreSerializer.h.

String Ogre::Serializer::mVersion`[protected, inherited]`

Definition at line 71 of file OgreSerializer.h.

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

- OgreSkeletonSerializer.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:40