|
My Project
|
MDX file based Animation instance: must call SetSizeScale() at least once before drawing this object. More...
#include <MdxAnimInstance.h>
Public Member Functions | |
| void | CopyAnimInfoToParaXModel () |
| void | SaveAnimInfoFromParaXModel () |
| HRESULT | InitObject (MDXEntity *ppModel) |
| AssetEntity * | GetPrimaryAsset () |
| virtual void | LoadAnimation (const char *sName, float *fSpeed, bool bAppend=false) |
| Play or append the specified animation. More... | |
| virtual void | LoadAnimation (int nIndexAnim, float *fSpeed, bool bAppend=false) |
| virtual void | LoadDefaultStandAnim (float *fSpeed) |
| virtual void | LoadDefaultWalkAnim (float *fSpeed) |
| virtual void | ShowMesh (BOOL bShow, int nIndex) |
| a model might has several meshes, you can show or hide them by setting the bitfield of a DWORD. More... | |
| virtual void | ShowMesh (DWORD dwBitfields) |
| virtual void | AdvanceTime (double dTimeDelta) |
| Draw() method will call this function automatically. | |
| virtual HRESULT | Draw (SceneState *sceneState, const Matrix4 *mxWorld) |
| simply call this function to draw and advance time. More... | |
| virtual void | BuildShadowVolume (SceneState *sceneState, ShadowVolume *pShadowVolume, LightParams *pLight, Matrix4 *mxWorld) |
| virtual void | SetSizeScale (float fScale) |
| get the size scale scale normally this is 1.0f | |
| virtual void | GetCurrentRadius (float *fRadius) |
| normally this will read the radius of the current animation and calculate the correct size after scaling | |
| virtual void | GetCurrentSize (float *fWidth, float *fDepth) |
| normally this will read the radius of the current animation and calculate the correct size after scaling | |
| virtual void | SetSpeedScale (float fScale) |
| set the scale factor that will be premultiplied to the loaded model and animation | |
| virtual void | GetCurrentSpeed (float *fSpeed) |
| normally this will read the move speed of the current animation and calculate the correct(scaled) speed | |
| virtual void | GetSpeedOf (const char *sName, float *fSpeed) |
| normally this will read the move speed of the specified animation and calculate the correct(scaled) speed | |
Public Member Functions inherited from ParaEngine::CAnimInstanceBase | |
| ATTRIBUTE_DEFINE_CLASS (CAnimInstanceBase) | |
| virtual int | InstallFields (CAttributeClass *pClass, bool bOverride) |
| this class should be implemented if one wants to add new attribute. More... | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetRenderCount_s, int *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetRenderCount_s, int) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, IsAnimIDMapEnabled_s, bool *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, EnableAnimIDMap_s, bool) | |
| ATTRIBUTE_METHOD (CAnimInstanceBase, ResetAnimation_s) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetCurrentAnimation_s, int *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, ShowMesh_s, DWORD) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetSizeScale_s, float *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetSizeScale_s, float) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetSpeedScale_s, float *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetSpeedScale_s, float) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, IsUseGlobalTime_s, bool *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetUseGlobalTime_s, bool) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetAnimFrame_s, int *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetAnimFrame_s, int) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, IsAnimationEnabled_s, bool *) | |
| ATTRIBUTE_METHOD1 (CAnimInstanceBase, EnableAnimation_s, bool) | |
| virtual int | GetRenderCount () |
| this function is called to update the render frame number of this object. More... | |
| virtual void | SetRenderCount (int nCount) |
| void | EnableAnimIDMap (bool bEnable) |
| set whether the m_mapAnimIDs will be used. More... | |
| bool | IsAnimIDMapEnabled () |
| get whether the m_mapAnimIDs will be used.Disabled by default | |
| map< int, int > * | GetAnimIDMap () |
| one can use the returned map to set and get the animation ID mapping. More... | |
| void | ApplyLocalTransformToVec3 (Vector3 *pOut, const Vector3 *pV) |
| pOut = m_mxLocalTransform (X) pV; | |
| void | ApplyLocalTransformToVec1 (float *pOut, float *pV) |
| virtual bool | HasAnimId (int nAnimID) |
| check to see if the underlying model has a given animation id. More... | |
| virtual int | GetCurrentAnimation () |
| get the ID of the current animation. More... | |
| virtual void | ResetAnimation () |
| reset the animation and blending animation. More... | |
| virtual void | SetModelColor (LinearColor modelColor) |
| set model color, different race might have different color | |
| virtual void | SetLocalTransform (Matrix4 mXForm) |
| when calling draw method, the mxWorld is pre-multiplied by a location transform matrix | |
| virtual void | Animate (double dTimeDelta, int nRenderNumber=0) |
| animate the model. More... | |
| virtual HRESULT | Draw (SceneState *sceneState, const Matrix4 *mxWorld, CParameterBlock *paramBlock=NULL) |
| simply call this function to draw and advance time. More... | |
| virtual float | GetSizeScale () |
| get the size scale | |
| virtual float | GetSpeedScale () |
| Get the scale factor that will be pre-multiplied to the loaded model and animation. More... | |
| virtual void | SetUseGlobalTime (bool bUseGlobalTime) |
| whether to use global time to sync animation. More... | |
| virtual bool | IsUseGlobalTime () |
| whether to use global time to sync animation. More... | |
| virtual void | SetAnimFrame (int nFrame) |
| set the current animation frame number relative to the beginning of current animation. More... | |
| virtual int | GetAnimFrame () |
| get the current animation frame number relative to the beginning of current animation. More... | |
| virtual void | SetBlendingFactor (float fBlendingFactor) |
| set the blending factor between the current and blend animation. More... | |
| virtual bool | HasAnimation (int nAnimID) |
| whether an animation id exist | |
| virtual bool | HasAlphaBlendedObjects () |
| return true if the object contains alpha blended render pass. More... | |
| virtual int | GetValidAnimID (int nAnimID) |
| look for a valid animation ID for nAnimID. More... | |
| void | EnableAnimation (bool bAnimated) |
| whether animation is enabled. More... | |
| bool | IsAnimationEnabled () const |
Public Member Functions inherited from ParaEngine::IAttributeFields | |
| virtual int | GetAttributeClassID () |
| attribute class ID should be identical, unless one knows how overriding rules work. More... | |
| virtual const char * | GetAttributeClassName () |
| a static string, describing the attribute class object's name | |
| virtual const char * | GetAttributeClassDescription () |
| a static string, describing the attribute class object | |
| virtual int | GetChildAttributeColumnCount () |
| we support multi-dimensional child object. More... | |
| virtual int | GetChildAttributeObjectCount (int nColumnIndex=0) |
| get the number of child objects (row count) in the given column. More... | |
| virtual IAttributeFields * | GetChildAttributeObject (int nRowIndex, int nColumnIndex=0) |
| virtual IAttributeFields * | GetChildAttributeObject (const std::string &sName) |
| get attribute by child object. More... | |
| ATTRIBUTE_METHOD1 (IAttributeFields, GetName_s, const char **) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, SetName_s, const char *) | |
| ATTRIBUTE_METHOD (IAttributeFields, PrintObject_s) | |
| ATTRIBUTE_METHOD (IAttributeFields, AddRef_s) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, GetRefCount_s, int *) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, SetTime_s, int) | |
| ATTRIBUTE_METHOD1 (IAttributeFields, GetTime_s, int *) | |
| ATTRIBUTE_METHOD (IAttributeFields, Release_s) | |
| virtual const std::string & | GetIdentifier () |
| virtual void | SetIdentifier (const std::string &sID) |
| virtual bool | IsModified () |
| whether some of the fields are modified.It is up to the implementation class to provide this functionality if necessary. More... | |
| virtual void | SetModified (bool bModified) |
| set whether any field has been modified. More... | |
| virtual bool | ValidateFields () |
| validate all fields and return true if validation passed. More... | |
| virtual string | GetValidationMessage () |
| get the recent validation message due to the most recent call to ValidateFields() | |
| virtual bool | ResetField (int nFieldID) |
| Reset the field to its initial or default value. More... | |
| virtual bool | InvokeEditor (int nFieldID, const std::string &sParameters) |
| Invoke an (external) editor for a given field. More... | |
| virtual bool | AddChildAttributeObject (IAttributeFields *pChild, int nRowIndex=-1, int nColumnIndex=0) |
| add child object. More... | |
| virtual void * | QueryObjectByName (const std::string &sObjectType) |
| convert to object of a given type. More... | |
| virtual void * | QueryObject (int nObjectType) |
| convert to object of a given type. More... | |
| virtual int | GetTime () |
| get the current local time in case it is animated in milli seconds frames. More... | |
| virtual void | SetTime (int nTime) |
| virtual CDynamicAttributeField * | GetDynamicField (const std::string &sName) |
| Get a dynamic field with a given name. More... | |
| virtual CDynamicAttributeField * | GetDynamicField (int nIndex) |
| Get a dynamic field with a given index. More... | |
| virtual const char * | GetDynamicFieldNameByIndex (int nIndex) |
| get field name by index | |
| virtual int | GetDynamicFieldCount () |
| how many dynamic field this object currently have. More... | |
| virtual int | SetDynamicField (const std::string &sName, const CVariable &value) |
| set a dynamic field with a given name. More... | |
| virtual int | AddDynamicField (const std::string &sName, ATTRIBUTE_FIELDTYPE dwType) |
| add dynamic field and return field index | |
| virtual void | RemoveAllDynamicFields () |
| remove all dynamic fields | |
| virtual int | SaveDynamicFieldsToString (std::string &output) |
| save only text dynamic fields to fieldname = value text strings. More... | |
| virtual int | LoadDynamicFieldsFromString (const std::string &input) |
| load only text dynamic fields from string More... | |
| CAttributeClass * | GetAttributeClass () |
| get the main attribute class object. More... | |
| void | PrintObject () |
| print the content of this object to a text file at temp/doc/[ClassName].txt. More... | |
Public Member Functions inherited from ParaEngine::IObject | |
| virtual void | Clone (IObject *obj) const |
| Clone the object's contains to a pointer. More... | |
| virtual IObject * | Clone () const |
| Clone the object's contains and return a pointer to the newly created object. More... | |
| virtual bool | Equals (const IObject *obj) const |
| Compare the object with another object. More... | |
| virtual const IType * | GetType () const |
| virtual std::string | ToString () const |
| WeakPtr_type & | GetWeakReference () |
| get weak reference object. More... | |
| virtual int | ProcessObjectEvent (const ObjectEvent &event) |
| this function is only used to backward compatibility of ParaObject:AddEvent() function. More... | |
Public Member Functions inherited from ParaEngine::CRefCounted | |
| void | addref () const |
| add reference count of the object. More... | |
| bool | delref () const |
| decrease reference count of the object. More... | |
| int | GetRefCount () const |
| get the reference count | |
| virtual int | Release () |
| CRefCounted * | AddToAutoReleasePool () |
| addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More... | |
Public Attributes | |
| AnimInstance | m_aiAnimIntance |
| MDX animation instance struct. | |
| MDXEntity * | m_ppModel |
| – 3d device objects | |
Additional Inherited Members | |
Public Types inherited from ParaEngine::IAttributeFields | |
| typedef ParaEngine::weak_ptr< IObject, IAttributeFields > | WeakPtr_type |
Public Types inherited from ParaEngine::IObject | |
| typedef ParaEngine::weak_ptr< IObject > | WeakPtr_type |
Static Public Member Functions inherited from ParaEngine::IAttributeFields | |
| static HRESULT | GetAttributeClassID_s (IAttributeFields *cls, int *p1) |
| static HRESULT | GetAttributeClassName_s (IAttributeFields *cls, const char **p1) |
| static bool | OpenWithDefaultEditor (const char *sFilename, bool bWaitOnReturn=false) |
| Open a given file with the default registered editor in the game engine. More... | |
Protected Member Functions inherited from ParaEngine::IAttributeFields | |
| virtual CAttributeClass * | CreateAttributeClass () |
| initialize fields | |
| virtual CDynamicAttributesSet * | GetDynamicAttributes (bool bCreateIfNotExist=false) |
Protected Attributes inherited from ParaEngine::CAnimInstanceBase | |
| LinearColor | m_modelColor |
| color of this model | |
| Matrix4 | m_mxLocalTransform |
| mesh local world xform: center in the origin | |
| float | m_fSizeScale |
| scale parameters | |
| float | m_fSpeedScale |
| int | m_nRenderCount |
| the last render frame count that this object is rendered. More... | |
| map< int, int > | m_mapAnimIDs |
| a mapping from one animation ID to another ID. More... | |
| bool | m_bEnableAnimIDMap |
| whether the m_mapAnimIDs will be used. More... | |
| bool | m_bEnableAnimation |
| whether animation is enabled, true by default. More... | |
Protected Attributes inherited from ParaEngine::IObject | |
| WeakPtr_type | m_weak_reference |
Protected Attributes inherited from ParaEngine::CRefCounted | |
| int | m_refcount |
MDX file based Animation instance: must call SetSizeScale() at least once before drawing this object.
in most cases, SetSizeScale(1.0f) will use the size of the first animation defined in the mdx model file.
see <scenecreationhelper> for its usage
|
virtual |
simply call this function to draw and advance time.
set dTimeDelta to 0 if you want to render only static model.
|
virtual |
Play or append the specified animation.
If the current animation is the same as the specified animation, it will loop on the current animation infinitely until a different animation is specified; otherwise, the current animation will be stopped, the specified animation played and the next animation emptied.
| fSpeed | [out] the speed of the animation after applying scaling is returned. |
| bAppend | if true, the new animation will be appended to the current animation according to the following rules:
|
Reimplemented from ParaEngine::CAnimInstanceBase.
|
virtual |
a model might has several meshes, you can show or hide them by setting the bitfield of a DWORD.
the lowest bit is the first mesh.
Reimplemented from ParaEngine::CAnimInstanceBase.
1.8.12