97 return mTime < o.
mTime;
100 return mTime > o.
mTime;
102 #endif // __cplusplus 132 bool operator == (
const aiQuatKey& o)
const {
135 bool operator != (
const aiQuatKey& o)
const {
140 bool operator < (
const aiQuatKey& o)
const {
141 return mTime < o.
mTime;
143 bool operator > (
const aiQuatKey& o)
const {
144 return mTime > o.
mTime;
168 aiMeshKey(
double time,
const unsigned int value)
173 typedef unsigned int elem_type;
176 bool operator == (
const aiMeshKey& o)
const {
179 bool operator != (
const aiMeshKey& o)
const {
184 bool operator < (
const aiMeshKey& o)
const {
185 return mTime < o.
mTime;
187 bool operator > (
const aiMeshKey& o)
const {
188 return mTime > o.
mTime;
212 , mNumValuesAndWeights(0)
219 if (mNumValuesAndWeights && mValues && mWeights) {
323 : mNumPositionKeys( 0 )
324 , mPositionKeys( NULL )
325 , mNumRotationKeys( 0 )
326 , mRotationKeys( NULL )
327 , mNumScalingKeys( 0 )
328 , mScalingKeys( NULL )
335 delete [] mPositionKeys;
336 delete [] mRotationKeys;
337 delete [] mScalingKeys;
339 #endif // __cplusplus 451 , mTicksPerSecond(0.)
454 , mNumMeshChannels(0)
455 , mMeshChannels(NULL)
456 , mNumMorphMeshChannels(0)
457 , mMorphMeshChannels(NULL) {
463 if ( mNumChannels && mChannels ) {
464 for(
unsigned int a = 0; a < mNumChannels; a++) {
465 delete mChannels[ a ];
470 if (mNumMeshChannels && mMeshChannels) {
471 for(
unsigned int a = 0; a < mNumMeshChannels; a++) {
472 delete mMeshChannels[a];
475 delete [] mMeshChannels;
477 if (mNumMorphMeshChannels && mMorphMeshChannels) {
478 for(
unsigned int a = 0; a < mNumMorphMeshChannels; a++) {
479 delete mMorphMeshChannels[a];
482 delete [] mMorphMeshChannels;
485 #endif // __cplusplus 502 template <
typename T>
511 void operator () (T& out,
const T& a,
const T& b, ai_real d)
const {
519 struct Interpolator <aiQuaternion> {
520 void operator () (aiQuaternion& out,
const aiQuaternion& a,
521 const aiQuaternion& b, ai_real d)
const 523 aiQuaternion::Interpolate(out,a,b,d);
528 struct Interpolator <unsigned int> {
529 void operator () (
unsigned int& out,
unsigned int a,
530 unsigned int b, ai_real d)
const 532 out = d>0.5f ? b : a;
537 struct Interpolator<aiVectorKey> {
538 void operator () (
aiVector3D& out,
const aiVectorKey& a,
539 const aiVectorKey& b, ai_real d)
const 541 Interpolator<aiVector3D> ipl;
547 struct Interpolator<aiQuatKey> {
548 void operator () (aiQuaternion& out,
const aiQuatKey& a,
549 const aiQuatKey& b, ai_real d)
const 551 Interpolator<aiQuaternion> ipl;
557 struct Interpolator<aiMeshKey> {
558 void operator () (
unsigned int& out,
const aiMeshKey& a,
559 const aiMeshKey& b, ai_real d)
const 561 Interpolator<unsigned int> ipl;
570 #endif // __cplusplus 572 #endif // AI_ANIM_H_INC The value from the default node transformation is taken.
Definition: anim.h:234
The nearest key value is used without interpolation.
Definition: anim.h:237
An animation consists of key-frame data for a number of nodes.
Definition: anim.h:411
Basic data types and primitives, such as vectors or colors.
Describes vertex-based animations for a single mesh or a group of meshes.
Definition: anim.h:348
Assimp's CPP-API and all internal APIs.
Definition: DefaultIOStream.h:51
Binds a morph anim mesh to a specific point in time.
Definition: anim.h:196
unsigned int mNumPositionKeys
The number of position keys.
Definition: anim.h:277
unsigned int mNumMorphMeshChannels
The number of mesh animation channels.
Definition: anim.h:442
double mTime
The time of this key.
Definition: anim.h:154
Binds a anim mesh to a specific point in time.
Definition: anim.h:151
Definition: quaternion.h:123
unsigned int mNumKeys
Size of the mKeys array.
Definition: anim.h:357
The animation is repeated.
Definition: anim.h:247
unsigned int mNumRotationKeys
The number of rotation keys.
Definition: anim.h:287
Describes a morphing animation of a given mesh.
Definition: anim.h:379
The value of the nearest two keys is linearly extrapolated for the current time value.
Definition: anim.h:241
unsigned int mValue
Index into the aiMesh::mAnimMeshes array of the mesh corresponding to the aiMeshAnim hosting this key...
Definition: anim.h:160
aiAnimBehaviour
Defines how an animation channel behaves outside the defined time range.
Definition: anim.h:231
unsigned int mNumScalingKeys
The number of scaling keys.
Definition: anim.h:298
Represents an UTF-8 string, zero byte terminated.
Definition: types.h:252
double mTime
The time of this key.
Definition: anim.h:199
A time-value pair specifying a certain 3D vector for the given time.
Definition: anim.h:61
double mTime
The time of this key.
Definition: anim.h:64
Describes the animation of a single node.
Definition: anim.h:271
Definition: vector3.h:135
double mTicksPerSecond
Ticks per second.
Definition: anim.h:421
Quaternion structure, including operators when compiling in C++.
C_STRUCT aiQuaternion mValue
The value of this key.
Definition: anim.h:114
This value is not used, it is just here to force the the compiler to map this enum to a 32 Bit intege...
Definition: anim.h:252
unsigned int * mValues
The values and weights at the time of this key.
Definition: anim.h:202
double mDuration
Duration of the animation in ticks.
Definition: anim.h:418
unsigned int mNumMeshChannels
The number of mesh animation channels.
Definition: anim.h:434
C_STRUCT aiVector3D mValue
The value of this key.
Definition: anim.h:67
A time-value pair specifying a rotation for the given time.
Definition: anim.h:108
unsigned int mNumValuesAndWeights
The number of values and weights.
Definition: anim.h:206
unsigned int mNumKeys
Size of the mKeys array.
Definition: anim.h:388
double mTime
The time of this key.
Definition: anim.h:111
unsigned int mNumChannels
The number of bone animation channels.
Definition: anim.h:425