29#ifndef __SkeletonSerializer_H__
30#define __SkeletonSerializer_H__
Specialised AnimationTrack for dealing with node transforms.
Generic class for serialising data to / from binary stream-based files.
Endian
The endianness of written files.
Reference-counted shared pointer, used for objects where implicit destruction is required.
Class for serialising skeleton data to/from an OGRE .skeleton file.
size_t calcBoneSizeWithoutScale(const Skeleton *pSkel, const Bone *pBone)
void writeSkeleton(const Skeleton *pSkel, SkeletonVersion ver)
size_t calcAnimationTrackSize(const Skeleton *pSkel, const NodeAnimationTrack *pTrack)
void readKeyFrame(DataStreamPtr &stream, NodeAnimationTrack *track, Skeleton *pSkel)
void writeKeyFrame(const Skeleton *pSkel, const TransformKeyFrame *key)
void readSkeletonAnimationLink(DataStreamPtr &stream, Skeleton *pSkel)
void writeBone(const Skeleton *pSkel, const Bone *pBone)
size_t calcBoneSize(const Skeleton *pSkel, const Bone *pBone)
void writeAnimationTrack(const Skeleton *pSkel, const NodeAnimationTrack *track)
void writeAnimation(const Skeleton *pSkel, const Animation *anim, SkeletonVersion ver)
void setWorkingVersion(SkeletonVersion ver)
void exportSkeleton(const Skeleton *pSkeleton, DataStreamPtr stream, SkeletonVersion ver=SKELETON_VERSION_LATEST, Endian endianMode=ENDIAN_NATIVE)
Exports a skeleton to the stream specified.
void readBone(DataStreamPtr &stream, Skeleton *pSkel)
void writeBoneParent(const Skeleton *pSkel, unsigned short boneId, unsigned short parentId)
size_t calcKeyFrameSize(const Skeleton *pSkel, const TransformKeyFrame *pKey)
void writeSkeletonAnimationLink(const Skeleton *pSkel, const LinkedSkeletonAnimationSource &link)
size_t calcBoneParentSize(const Skeleton *pSkel)
void importSkeleton(DataStreamPtr &stream, Skeleton *pDest)
Imports Skeleton and animation data from a .skeleton file DataStream.
size_t calcKeyFrameSizeWithoutScale(const Skeleton *pSkel, const TransformKeyFrame *pKey)
size_t calcSkeletonAnimationLinkSize(const Skeleton *pSkel, const LinkedSkeletonAnimationSource &link)
void readAnimationTrack(DataStreamPtr &stream, Animation *anim, Skeleton *pSkel)
void exportSkeleton(const Skeleton *pSkeleton, const String &filename, SkeletonVersion ver=SKELETON_VERSION_LATEST, Endian endianMode=ENDIAN_NATIVE)
Exports a skeleton to the file specified.
size_t calcAnimationSize(const Skeleton *pSkel, const Animation *pAnim)
void readBoneParent(DataStreamPtr &stream, Skeleton *pSkel)
void readAnimation(DataStreamPtr &stream, Skeleton *pSkel)
void readFileHeader(DataStreamPtr &stream)
virtual ~SkeletonSerializer()
A collection of Bone objects used to animate a skinned mesh.
SkeletonVersion
Skeleton compatibility versions.
@ SKELETON_VERSION_1_8
OGRE version v1.8+.
@ SKELETON_VERSION_LATEST
Latest version available.
@ SKELETON_VERSION_1_0
OGRE version v1.0+.
Link to another skeleton to share animations.