7 #ifndef CAFU_MODEL_ANIM_EXPRESSION_HPP_INCLUDED
8 #define CAFU_MODEL_ANIM_EXPRESSION_HPP_INCLUDED
10 #include "Math3D/Quaternion.hpp"
11 #include "Templates/Array.hpp"
12 #include "Templates/Pointer.hpp"
81 unsigned int m_RefCount;
132 void NormalizeInput();
161 unsigned int m_ChannelNr;
242 void FlattenUnused();
virtual AnimExpressionPtrT Clone() const
The virtual copy constructor.
Definition: AnimExpr.cpp:253
virtual bool IsEqual(const AnimExpressionPtrT &AE) const
Returns whether this anim expression is equal to A.
Definition: AnimExpr.cpp:259
Definition: AnimExpr.hpp:188
virtual AnimExpressionPtrT Clone() const =0
The virtual copy constructor.
virtual void GetData(unsigned int JointNr, float &Weight, Vector3fT &Pos, cf::math::QuaternionfT &Quat, Vector3fT &Scale) const
For the joint with the given JointNr, this function returns.
Definition: AnimExpr.cpp:242
AnimExpressionPtrT GetB() const
Returns the "blend to" sub-expression.
Definition: AnimExpr.hpp:209
virtual bool IsEqual(const AnimExpressionPtrT &AE) const
Returns whether this anim expression is equal to A.
Definition: AnimExpr.cpp:151
This class represents a native Cafu model.
Definition: Model_cmdl.hpp:45
Filters the result of another expression by a "channel".
Definition: AnimExpr.hpp:141
virtual bool IsEqual(const AnimExpressionPtrT &AE) const =0
Returns whether this anim expression is equal to A.
This class implements the "standard" skeleton pose based on a sequence number and frame number...
Definition: AnimExpr.hpp:94
virtual void GetData(unsigned int JointNr, float &Weight, Vector3fT &Pos, cf::math::QuaternionfT &Quat, Vector3fT &Scale) const
For the joint with the given JointNr, this function returns.
Definition: AnimExpr.cpp:289
void ReInit(AnimExpressionPtrT A, AnimExpressionPtrT B, float Duration)
Re-initializes this anim expression, so that it can be re-used with different parameters (on the same...
Definition: AnimExpr.cpp:349
bool GetForceLoop() const
Returns if this expression will override the "next" setting at the end of the current animation seque...
Definition: AnimExpr.hpp:123
AnimExpressionT(const CafuModelT &Model)
The constructor.
Definition: AnimExpr.cpp:11
Definition: AnimExpr.hpp:165
virtual bool AdvanceTime(float Time)
Advances the time for this anim expression, that is, frame numbers of underlying animation sequences...
Definition: AnimExpr.cpp:97
virtual void GetData(unsigned int JointNr, float &Weight, Vector3fT &Pos, cf::math::QuaternionfT &Quat, Vector3fT &Scale) const
For the joint with the given JointNr, this function returns.
Definition: AnimExpr.cpp:32
AnimExpressionPtrT GetA() const
Returns the "blend from" sub-expression.
Definition: AnimExpr.hpp:206
virtual ~AnimExpressionT()
The (virtual) destructor.
Definition: AnimExpr.hpp:42
virtual bool IsEqual(const AnimExpressionPtrT &AE) const
Returns whether this anim expression is equal to A.
Definition: AnimExpr.cpp:326
AnimExprStandardT(const CafuModelT &Model, int SequNr, float FrameNr)
Create a new "standard" expression from the given parameters.
Definition: AnimExpr.cpp:22
float GetFrac() const
Returns how far the blend has advanced.
Definition: AnimExpr.hpp:212
float GetFrameNr() const
Returns the frame number that is currently set in this expression.
Definition: AnimExpr.hpp:116
void ReInit(AnimExpressionPtrT SubExpr, unsigned int ChannelNr)
Re-initializes this anim expression, so that it can be re-used with different parameters (on the same...
Definition: AnimExpr.cpp:233
Definition: AnimExpr.hpp:224
virtual bool AdvanceTime(float Time)
Advances the time for this anim expression, that is, frame numbers of underlying animation sequences...
Definition: AnimExpr.cpp:311
virtual bool AdvanceTime(float Time)
Advances the time for this anim expression, that is, frame numbers of underlying animation sequences...
Definition: AnimExpr.hpp:150
virtual bool IsEqual(const AnimExpressionPtrT &AE) const
Returns whether this anim expression is equal to A.
Definition: AnimExpr.cpp:429
virtual bool AdvanceTime(float Time)
Advances the time for this anim expression, that is, frame numbers of underlying animation sequences...
Definition: AnimExpr.hpp:61
int GetSequNr() const
Returns the sequence number that is currently set in this expression.
Definition: AnimExpr.hpp:109
Animation expressions describe the "skeleton pose" of a model.
Definition: AnimExpr.hpp:33
void SetSequNr(int SequNr)
Sets the number of the animation sequence that is used by this expression.
Definition: AnimExpr.cpp:160
void SetForceLoop(bool ForceLoop)
Sets whether this expression should override the "next" setting at the end of the current animation s...
Definition: AnimExpr.cpp:178
virtual AnimExpressionPtrT Clone() const
The virtual copy constructor.
Definition: AnimExpr.cpp:419
void ReInit(AnimExpressionPtrT A, AnimExpressionPtrT B)
Re-initializes this anim expression, so that it can be re-used with different parameters (on the same...
Definition: AnimExpr.cpp:280
virtual void GetData(unsigned int JointNr, float &Weight, Vector3fT &Pos, cf::math::QuaternionfT &Quat, Vector3fT &Scale) const
For the joint with the given JointNr, this function returns.
Definition: AnimExpr.cpp:358
IntrusivePtrT & operator=(const IntrusivePtrT &IP)
The assignment operator.
Definition: Pointer.hpp:79
virtual void GetData(unsigned int JointNr, float &Weight, Vector3fT &Pos, cf::math::QuaternionfT &Quat, Vector3fT &Scale) const =0
For the joint with the given JointNr, this function returns.
virtual AnimExpressionPtrT Clone() const
The virtual copy constructor.
Definition: AnimExpr.cpp:142
const CafuModelT & GetModel() const
Returns the model that this is an anim expression for.
Definition: AnimExpr.hpp:45
virtual AnimExpressionPtrT Clone() const
The virtual copy constructor.
Definition: AnimExpr.cpp:320
unsigned int GetRefCount() const
Returns the number of IntrusivePtrT<>'s that currently refer to this anim expression.
Definition: AnimExpr.hpp:50
virtual bool AdvanceTime(float Time)
Advances the time for this anim expression, that is, frame numbers of underlying animation sequences...
Definition: AnimExpr.cpp:390
Definition: Renderer.hpp:16
void SetFrameNr(float FrameNr)
Sets the frame number in the current animation sequence.
Definition: AnimExpr.cpp:169