99#define KEY_QUAT_COMP_FACTOR 2000 .0f
1010
1111struct KeyFlag_Z : public Key_Z {
12+ friend class KeyframerFlag_Z ;
13+
1214public:
1315 KeyFlag_Z () {
1416 }
@@ -309,6 +311,10 @@ struct KeyVec3fComp_Z : public Key_Z {
309311
310312 void Set (Vec3f const & i_Value, Vec3f const & i_TgtIn, Vec3f const & i_TgtOut);
311313
314+ inline Vec3f Get () const {
315+ return Vec3f (m_ValueX * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_ValueY * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_ValueZ * (1 .0f / KEY_FLOAT_COMP_FACTOR));
316+ }
317+
312318 inline void Get (Vec3f& o_Value) const {
313319 GetValue (o_Value);
314320 }
@@ -319,12 +325,20 @@ struct KeyVec3fComp_Z : public Key_Z {
319325 o_Value.z = m_ValueZ * (1 .0f / KEY_FLOAT_COMP_FACTOR);
320326 }
321327
328+ inline Vec3f GetTgtIn () const {
329+ return Vec3f (m_TgtInX * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_TgtInY * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_TgtInZ * (1 .0f / KEY_FLOAT_COMP_FACTOR));
330+ }
331+
322332 inline void GetTgtIn (Vec3f& o_TgtIn) const {
323333 o_TgtIn.x = m_TgtInX * (1 .0f / KEY_FLOAT_COMP_FACTOR);
324334 o_TgtIn.y = m_TgtInY * (1 .0f / KEY_FLOAT_COMP_FACTOR);
325335 o_TgtIn.z = m_TgtInZ * (1 .0f / KEY_FLOAT_COMP_FACTOR);
326336 }
327337
338+ inline Vec3f GetTgtOut () const {
339+ return Vec3f (m_TgtOutX * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_TgtOutY * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_TgtOutZ * (1 .0f / KEY_FLOAT_COMP_FACTOR));
340+ }
341+
328342 inline void GetTgtOut (Vec3f& o_TgtOut) const {
329343 o_TgtOut.x = m_TgtOutX * (1 .0f / KEY_FLOAT_COMP_FACTOR);
330344 o_TgtOut.y = m_TgtOutY * (1 .0f / KEY_FLOAT_COMP_FACTOR);
@@ -452,6 +466,10 @@ struct KeyVec2fLinearComp_Z : public Key_Z {
452466 m_ValueY = i_Value.y * KEY_FLOAT_COMP_FACTOR;
453467 }
454468
469+ inline const Vec2f Get () const {
470+ return Vec2f (m_ValueX * (1 .0f / KEY_FLOAT_COMP_FACTOR), m_ValueY * (1 .0f / KEY_FLOAT_COMP_FACTOR));
471+ }
472+
455473 inline void Get (Vec2f& o_Value) const {
456474 GetValue (o_Value);
457475 }
@@ -484,6 +502,12 @@ struct KeyVec4fLinear_Z : public Key_Z {
484502 GetValue (o_Value);
485503 }
486504
505+ inline void Get (Vec3f& o_Value) const {
506+ o_Value.x = m_Value.x ;
507+ o_Value.y = m_Value.y ;
508+ o_Value.z = m_Value.z ;
509+ }
510+
487511 inline void GetValue (Vec4f& o_Value) const {
488512 o_Value = m_Value;
489513 }
@@ -610,7 +634,7 @@ class KeyframerHdl_Z {
610634 m_Keys.Flush ();
611635 }
612636
613- S32 GetValue (Float i_Time, BaseObject_ZHdl& o_Value, S32 i_KeyOffset = 1 ) const ;
637+ S32 GetValue (Float i_Time, BaseObject_ZHdl& o_Value, S32 i_KeyOffset = 1 );
614638 void Load (void ** i_Data);
615639 void MarkHandles ();
616640 void UpdateLinks ();
@@ -661,8 +685,8 @@ class KeyframerFloat_Z : public Keyframer_Z {
661685 m_Keys.Flush ();
662686 }
663687
664- S32 GetValue (Float i_Time, Float& o_Value, Bool& o_Side, S32 i_KeyOffset = 1 ) const ;
665- S32 GetValue (Float i_Time, Float& o_Value, S32 i_KeyOffset = 1 ) const ;
688+ S32 GetValue (Float i_Time, Float& o_Value, Bool& o_Side, S32 i_KeyOffset = 1 );
689+ S32 GetValue (Float i_Time, Float& o_Value, S32 i_KeyOffset = 1 );
666690 S32 GetCctValue (S32 i_StartKey, S32 i_KeyCount, Float i_Time, Float& o_Value, S32 i_KeyOffset = 1 ) const ;
667691 void Load (void ** i_Data);
668692
@@ -712,8 +736,8 @@ class KeyframerFloatComp_Z : public Keyframer_Z {
712736 m_Keys.Flush ();
713737 }
714738
715- S32 GetValue (Float i_Time, Float& o_Value, Bool& o_Side, S32 i_KeyOffset = 1 ) const ;
716- S32 GetValue (Float i_Time, Float& o_Value, S32 i_KeyOffset = 1 ) const ;
739+ S32 GetValue (Float i_Time, Float& o_Value, Bool& o_Side, S32 i_KeyOffset = 1 );
740+ S32 GetValue (Float i_Time, Float& o_Value, S32 i_KeyOffset = 1 );
717741 S32 GetCctValue (S32 i_StartKey, S32 i_KeyCount, Float i_Time, Float& o_Value, S32 i_KeyOffset = 1 ) const ;
718742 void Load (void ** i_Data);
719743
@@ -862,7 +886,7 @@ class KeyframerRot_Z {
862886 m_Keys.Flush ();
863887 }
864888
865- S32 GetValue (Float i_Time, Quat& o_Value, S32 i_KeyOffset = 1 ) const ;
889+ S32 GetValue (Float i_Time, Quat& o_Value, S32 i_KeyOffset = 1 );
866890 S32 GetCctValue (S32 i_StartKey, S32 i_KeyCount, Float i_Time, Quat& o_Value, S32 i_KeyOffset = 1 ) const ;
867891 void Load (void ** i_Data);
868892
@@ -1000,7 +1024,7 @@ class KeyframerVec3fComp_Z : public Keyframer_Z {
10001024 m_Keys.Flush ();
10011025 }
10021026
1003- S32 GetValue (Float i_Time, Vec3f& o_Value, S32 i_KeyOffset = 1 ) const ;
1027+ S32 GetValue (Float i_Time, Vec3f& o_Value, S32 i_KeyOffset = 1 );
10041028 S32 GetCctValue (S32 i_StartKey, S32 i_KeyCount, Float i_Time, Vec3f& o_Value, S32 i_KeyOffset = 1 ) const ;
10051029 void Load (void ** i_Data);
10061030
@@ -1061,6 +1085,10 @@ class KeyframerVec3fLinear_Z : public Keyframer_Z {
10611085
10621086class KeyframerExtVec3f_Z : public Keyframer_Z {
10631087public:
1088+ KeyframerExtVec3f_Z () {
1089+ m_Flag = FL_KEYFRAMER_SMOOTH;
1090+ }
1091+
10641092 inline S32 GetNbKeys () const {
10651093 return m_Keys.GetSize ();
10661094 }
@@ -1097,7 +1125,7 @@ class KeyframerExtVec3f_Z : public Keyframer_Z {
10971125 m_Keys.Flush ();
10981126 }
10991127
1100- S32 GetValue (Float i_Time, Vec3f& o_Value, S32 i_KeyOffset = 1 ) const ;
1128+ S32 GetValue (Float i_Time, Vec3f& o_Value, S32 i_KeyOffset = 1 );
11011129 void Load (void ** i_Data);
11021130
11031131private:
@@ -1245,7 +1273,7 @@ class KeyframerVec4fLinear_Z : public Keyframer_Z {
12451273 m_Keys.Flush ();
12461274 }
12471275
1248- S32 GetValue (Float i_Time, Vec4f& o_Value, S32 i_KeyOffset = 1 ) const ;
1276+ S32 GetValue (Float i_Time, Vec4f& o_Value, S32 i_KeyOffset = 1 );
12491277 void Load (void ** i_Data);
12501278
12511279 KeyframerVec4fLinear_Z& operator =(const KeyframerVec4fLinear_Z& i_Kfr) {
0 commit comments