00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright (c) 2000-2005 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 ----------------------------------------------------------------------------- 00024 */ 00025 #ifndef __SkeletonFileFormat_H__ 00026 #define __SkeletonFileFormat_H__ 00027 00028 #include "OgrePrerequisites.h" 00029 00030 namespace Ogre { 00031 00046 enum SkeletonChunkID { 00047 SKELETON_HEADER = 0x1000, 00048 // char* version : Version number check 00049 SKELETON_BONE = 0x2000, 00050 // Repeating section defining each bone in the system. 00051 // Bones are assigned indexes automatically based on their order of declaration 00052 // starting with 0. 00053 00054 // char* name : name of the bone 00055 // unsigned short handle : handle of the bone, should be contiguous & start at 0 00056 // Vector3 position : position of this bone relative to parent 00057 // Quaternion orientation : orientation of this bone relative to parent 00058 // Vector3 scale : scale of this bone relative to parent 00059 00060 SKELETON_BONE_PARENT = 0x3000, 00061 // Record of the parent of a single bone, used to build the node tree 00062 // Repeating section, listed in Bone Index order, one per Bone 00063 00064 // unsigned short handle : child bone 00065 // unsigned short parentHandle : parent bone 00066 00067 SKELETON_ANIMATION = 0x4000, 00068 // A single animation for this skeleton 00069 00070 // char* name : Name of the animation 00071 // float length : Length of the animation in seconds 00072 00073 SKELETON_ANIMATION_TRACK = 0x4100, 00074 // A single animation track (relates to a single bone) 00075 // Repeating section (within SKELETON_ANIMATION) 00076 00077 // unsigned short boneIndex : Index of bone to apply to 00078 00079 SKELETON_ANIMATION_TRACK_KEYFRAME = 0x4110, 00080 // A single keyframe within the track 00081 // Repeating section 00082 00083 // float time : The time position (seconds) 00084 // Quaternion rotate : Rotation to apply at this keyframe 00085 // Vector3 translate : Translation to apply at this keyframe 00086 // Vector3 scale : Scale to apply at this keyframe 00087 SKELETON_ANIMATION_LINK = 0x5000 00088 // Link to another skeleton, to re-use its animations 00089 00090 // char* skeletonName : name of skeleton to get animations from 00091 // float scale : scale to apply to trans/scale keys 00092 00093 }; 00094 00095 } // namespace 00096 00097 00098 #endif
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:50 2006