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 00059 SKELETON_BONE_PARENT = 0x3000, 00060 // Record of the parent of a single bone, used to build the node tree 00061 // Repeating section, listed in Bone Index order, one per Bone 00062 00063 // unsigned short handle : child bone 00064 // unsigned short parentHandle : parent bone 00065 00066 SKELETON_ANIMATION = 0x4000, 00067 // A single animation for this skeleton 00068 00069 // char* name : Name of the animation 00070 // float length : Length of the animation in seconds 00071 00072 SKELETON_ANIMATION_TRACK = 0x4100, 00073 // A single animation track (relates to a single bone) 00074 // Repeating section (within SKELETON_ANIMATION) 00075 00076 // unsigned short boneIndex : Index of bone to apply to 00077 00078 SKELETON_ANIMATION_TRACK_KEYFRAME = 0x4110, 00079 // A single keyframe within the track 00080 // Repeating section 00081 00082 // float time : The time position (seconds) 00083 // Quaternion rotate : Rotation to apply at this keyframe 00084 // Vector3 translate : Translation to apply at this keyframe 00085 // Vector3 scale : Scale to apply at this keyframe 00086 SKELETON_ANIMATION_LINK = 0x5000 00087 // Link to another skeleton, to re-use its animations 00088 00089 // char* skeletonName : name of skeleton to get animations from 00090 // float scale : scale to apply to trans/scale keys 00091 00092 }; 00093 00094 } // namespace 00095 00096 00097 #endif
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 12:59:52 2006