2 #include "AnimInstanceBase.h" 7 class ParaXModelCanvas;
8 class CharModelInstance;
32 ATTRIBUTE_METHOD1(
CParaXAnimInstance, GetIdleAnimationID_s,
int*) { *p1 = cls->GetIdleAnimationID();
return S_OK; }
33 ATTRIBUTE_METHOD1(
CParaXAnimInstance, SetIdleAnimationID_s,
int) { cls->SetIdleAnimationID(p1);
return S_OK; }
34 ATTRIBUTE_METHOD(
CParaXAnimInstance, UpdateModel_s) { cls->UpdateModel();
return S_OK; }
42 typedef map<int, AttachmentMat> ATTACHMENT_MATRIX_POOL_TYPE;
56 virtual void SetTime(
int nTime);
83 virtual void Animate(
double dTimeDelta,
int nRenderNumber=0 );
132 virtual void LoadAnimation(
const char * sName,
float * fSpeed,
bool bAppend =
false);
133 virtual void LoadAnimation(
int nAnimID,
float * fSpeed,
bool bAppend =
false);
135 virtual void LoadDefaultStandAnim(
float * fSpeed);
136 virtual void LoadDefaultWalkAnim(
float * fSpeed);
155 virtual void GetSpeedOf(
const char * sName,
float * fSpeed);
233 ATTACHMENT_MATRIX_POOL_TYPE m_AttachmentMatrices;
AnimIndex m_NextAnim
the next animation index.if it is -1, the next animation will depends on the loop property of the cur...
Definition: ParaXAnimInstance.h:201
ModelType
defines the model type that this instance holds
Definition: ParaXAnimInstance.h:45
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
ShadowVolume is a structure for storing shadow volume geometries.
Definition: ShadowVolume.h:39
It's used as parameter to Draw method of each scene object.
Definition: SceneState.h:284
int m_curTime
current time for dynamic fields.
Definition: ParaXAnimInstance.h:225
bool m_bUseGlobalTime
whether to use global time to sync animation.
Definition: ParaXAnimInstance.h:222
abstract class for all animation instance implementation.
Definition: AnimInstanceBase.h:66
bool HasAttachmentMatrix(int nAttachmentID)
Get the specified attachment matrix of the current model.
Definition: ParaXAnimInstance.cpp:471
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual int GetTime()
get the current local time in case it is animated in milli seconds frames.
Definition: ParaXAnimInstance.cpp:47
virtual HRESULT Draw(SceneState *sceneState, const Matrix4 *mxWorld, CParameterBlock *params=NULL)
Render the model with its current settings.
Definition: ParaXAnimInstance.cpp:751
bool ResetBaseModel(ParaXEntity *pModel)
reset the base model
Definition: ParaXAnimInstance.cpp:178
character animation instance: it includes both the animation and model display information.
Definition: CustomCharModelInstance.h:17
virtual int InstallFields(CAttributeClass *pClass, bool bOverride)
this class should be implemented if one wants to add new attribute.
Definition: ParaXAnimInstance.cpp:959
virtual void AdvanceTime(double dTimeDelta)
Advance the animation by a time delta in second.
Definition: ParaXAnimInstance.cpp:480
virtual void ResetAnimation()
reset the animation and blending animation.
Definition: ParaXAnimInstance.cpp:164
Fixed model is a model which is not customizable, but can contain a list of animations to play such a...
Definition: ParaXAnimInstance.h:51
virtual int GetAnimFrame()
get the current animation frame number relative to the beginning of current animation.
Definition: ParaXAnimInstance.cpp:94
void SetIdleAnimationID(int nID)
the current idle animation ID.
Definition: ParaXAnimInstance.cpp:105
LightParams is a structure for which a shadow volume is built.
Definition: ShadowVolume.h:8
virtual void GetCurrentSize(float *fWidth, float *fDepth)
normally this will read the radius of the current animation and calculate the correct size after scal...
Definition: ParaXAnimInstance.cpp:794
virtual void SetUseGlobalTime(bool bUseGlobalTime)
whether to use global time to sync animation.
Definition: ParaXAnimInstance.cpp:63
virtual void GetCurrentRadius(float *fRadius)
normally this will read the radius of the current animation and calculate the correct size after scal...
Definition: ParaXAnimInstance.cpp:772
Matrix4 * GetAttachmentMatrix(Matrix4 *pOut, int nAttachmentID, int nRenderNumber)
Get the specified attachment matrix of the current model.
Definition: ParaXAnimInstance.cpp:434
virtual IAttributeFields * GetChildAttributeObject(const std::string &sName)
get attribute by child object.
Definition: ParaXAnimInstance.cpp:910
the character model is a fully customizable model for human shaped animation model one can change the...
Definition: ParaXAnimInstance.h:48
virtual int GetValidAnimID(int nAnimID)
look for a valid animation ID for nAnimID.
Definition: ParaXAnimInstance.cpp:129
unsigned short m_nCurrentIdleAnimationID
the current idle animation ID.
Definition: ParaXAnimInstance.h:214
virtual void GetSpeedOf(const char *sName, float *fSpeed)
normally this will read the move speed of the specified animation and calculate the correct(scaled) s...
Definition: ParaXAnimInstance.cpp:843
The ref_ptr class template stores a pointer to a dynamically allocated (AssetEntity|CRefCounted|BaseA...
Definition: PERefPtr.h:13
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: ParaMatrix4.h:23
Definition: ParaXEntity.h:9
virtual void LoadAnimationByIndex(const AnimIndex &nAnimIndex, bool bAppend=false)
Definition: ParaXAnimInstance.cpp:201
it presents a given in bone animation providers or parax local model bone animation pools ...
Definition: AnimInstanceBase.h:13
virtual void LoadAnimation(const char *sName, float *fSpeed, bool bAppend=false)
Play or append the specified animation.
Definition: ParaXAnimInstance.cpp:420
A common interface for all classes implementing IAttributeFields By implementing this class's virtual...
Definition: IAttributeFields.h:59
virtual bool HasAlphaBlendedObjects()
return true if the object contains alpha blended render pass.
Definition: ParaXAnimInstance.cpp:260
CharModelInstance * GetCharModel()
Get the character model instance.
Definition: ParaXAnimInstance.cpp:115
AnimIndex m_BlendingAnim
the animation sequence with which the current animation should be blended.
Definition: ParaXAnimInstance.h:206
virtual void SetBlendingFactor(float fBlendingFactor)
set the blending factor between the current and blend animation.
Definition: ParaXAnimInstance.cpp:57
virtual bool HasAnimation(int nAnimID)
whether an animation id exist.
Definition: ParaXAnimInstance.cpp:274
void Init(ParaXEntity *pModel)
init the animation instance.
Definition: ParaXAnimInstance.cpp:124
virtual int GetCurrentAnimation()
get the ID of the current animation.
Definition: ParaXAnimInstance.cpp:244
virtual bool HasAnimId(int nAnimID)
check to see if the underlying model has a given animation id.
Definition: ParaXAnimInstance.cpp:150
virtual void Animate(double dTimeDelta, int nRenderNumber=0)
animate the model.
Definition: ParaXAnimInstance.cpp:670
virtual bool IsUseGlobalTime()
whether to use global time to sync animation.
Definition: ParaXAnimInstance.cpp:68
virtual void SetAnimFrame(int nFrame)
set the current animation frame number relative to the beginning of current animation.
Definition: ParaXAnimInstance.cpp:73
virtual int GetChildAttributeObjectCount(int nColumnIndex=0)
get the number of child objects (row count) in the given column.
Definition: ParaXAnimInstance.cpp:935
ParaXEntity * GetAnimModel()
get the animation model
Definition: ParaXAnimInstance.cpp:903
AnimIndex m_CurrentAnim
current animation index, this is different from sequence ID an absolute ParaX frame number denoting t...
Definition: ParaXAnimInstance.h:196
virtual int GetChildAttributeColumnCount()
we support multi-dimensional child object.
Definition: ParaXAnimInstance.cpp:954
virtual void GetCurrentSpeed(float *fSpeed)
normally this will read the move speed of the current animation and calculate the correct(scaled) spe...
Definition: ParaXAnimInstance.cpp:818
float m_fBlendingFactor
by how much the blending frame should be blended with the current frame.
Definition: ParaXAnimInstance.h:211
bool UpdateModel(SceneState *sceneState=NULL)
update model according to current animation data and time
Definition: ParaXAnimInstance.cpp:681
this is primary animation instance used for normal animated character or advanced customizable charac...
Definition: ParaXAnimInstance.h:13
virtual bool UpdateWorldTransform(SceneState *sceneState, Matrix4 &out, const Matrix4 &mxWorld)
update world transform by applying local size scale.
Definition: ParaXAnimInstance.cpp:730
virtual void BuildShadowVolume(SceneState *sceneState, ShadowVolume *pShadowVolume, LightParams *pLight, Matrix4 *mxWorld)
shadow volume
Definition: ParaXAnimInstance.cpp:650
bool HasMountPoint(int nMountPointID=0)
whether the character has a mount point at the given ID.
Definition: ParaXAnimInstance.cpp:110
int GetIdleAnimationID()
Definition: ParaXAnimInstance.cpp:99
Definition: ParaXAnimInstance.h:37
a list of CParameter{name, value} pairs of anything.
Definition: ParameterBlock.h:108
short m_nCustomStandingAnimCount
the number of custom animations.
Definition: ParaXAnimInstance.h:217