00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_U_ANIMATION_SET_H
00027 #define NL_U_ANIMATION_SET_H
00028
00029 #include "nel/misc/types_nl.h"
00030 #include "nel/3d/animation_time.h"
00031
00032
00033 namespace NL3D
00034 {
00035
00036 class UAnimation;
00037
00038
00045 class UAnimationSet
00046 {
00047 protected:
00048
00050 UAnimationSet() {}
00052 virtual ~UAnimationSet() {}
00053
00054 public:
00055
00056 enum { NotFound=0xffffffff };
00057
00058 public:
00059
00061
00070 virtual uint addAnimation (const char* fileName, const char* animName) =0;
00071
00075 virtual void build () =0;
00076
00085 virtual uint addSkeletonWeight (const char* fileName, const char* skelName) =0;
00086
00087
00088
00090
00094 virtual uint getNumAnimation () const =0;
00095
00099 virtual uint getAnimationIdByName (const std::string& name) const =0;
00100
00104 virtual const std::string& getAnimationName (uint animationId) const =0;
00105
00111 virtual UAnimation *getAnimation (uint animationId) =0;
00112
00113
00114
00115
00117
00121 virtual uint getNumSkeletonWeight () const =0;
00122
00126 virtual uint getSkeletonWeightIdByName (const std::string& name) const =0;
00127
00131 virtual const std::string& getSkeletonWeightName (uint skeletonId) const =0;
00132
00133
00134
00136
00137
00141 virtual uint getChannelIdByName (const std::string& name) const =0;
00142
00143
00144
00145
00146 };
00147
00148
00149 }
00150
00151
00152 #endif // NL_U_ANIMATION_SET_H
00153
00154