|
My Project
|
Attachment on parax model canvas. More...
#include <ParaXModelCanvas.h>
Public Member Functions | |
| CanvasAttachment (CanvasAttachment *parent, ParaXEntity *model, int id, int slot, float scale=1.0f) | |
| CanvasAttachment (CanvasAttachment *parent, MeshEntity *model, int id, int slot, float scale=1.0f) | |
| ATTRIBUTE_DEFINE_CLASS (CanvasAttachment) | |
| virtual int | InstallFields (CAttributeClass *pClass, bool bOverride) |
| this class should be implemented if one wants to add new attribute. More... | |
| virtual IAttributeFields * | GetChildAttributeObject (const std::string &sName) |
| get attribute by child object. More... | |
| virtual int | GetChildAttributeObjectCount (int nColumnIndex=0) |
| get the number of child objects (row count) in the given column. More... | |
| virtual int | GetChildAttributeColumnCount () |
| we support multi-dimensional child object. More... | |
| virtual IAttributeFields * | GetChildAttributeObject (int nRowIndex, int nColumnIndex=0) |
| void | SetReplaceableTexture (TextureEntity *pTex) |
| void | SetModel (ParaXEntity *pModel) |
| void | SetModel (MeshEntity *pModel) |
| void | SetOffset (float x, float y, float z) |
| set offset | |
| bool | SetupParantTransform (float fCameraToCurObjectDistance=0.f) |
| set up the transform, so that this attached model can be drawn in its local space. More... | |
| CanvasAttachment * | addChild (ParaXEntity *model, int id, int slot, float scale=1.0f) |
| add a new model to this node. More... | |
| CanvasAttachment * | addChild (MeshEntity *model, int id, int slot, float scale=1.0f) |
| CanvasAttachment * | GetChild (int id, int slot=-1) |
| get the first attachment matching the id | |
| IAttributeFields * | GetAttributeObject () |
| get the mesh object's attribute object. More... | |
| void | AttachChild (CanvasAttachment *att) |
| attach a new child to this attachment. More... | |
| void | delSlot (int slot) |
| void | delChildren () |
| void | delChild (CanvasAttachment *child) |
| void | delChildByID (int nID) |
| delete a child by its ID | |
| void | release () |
| this is a self destruction method. More... | |
| bool | animate (SceneState *sceneState, CharacterPose *pPose, bool bUseGlobal=false, int nAnimID=0, IAttributeFields *pAnimInstance=NULL) |
| recalculate all bones of this attachment and all its children. More... | |
| void | draw (SceneState *sceneState, ParaXModelCanvas *c, CParameterBlock *materialParams=NULL) |
| draw this attachment and all its children. More... | |
| void | BuildShadowVolume (SceneState *sceneState, ShadowVolume *pShadowVolume, LightParams *pLight, Matrix4 *mxWorld) |
| build the shadow volume | |
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 | |
| 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 | |
| std::vector< CanvasAttachmentPtr > | children |
| child models | |
| CanvasAttachment * | parent |
| weak reference to parent | |
| asset_ptr< ParaXEntity > | model |
| ref_ptr< CMeshObject > | m_pMeshObject |
| asset_ptr< TextureEntity > | texReplaceable |
| int | id |
| this id will be used to index into the parent model's attachment lookup table to find the actual attachment point in the parent model. More... | |
| int | slot |
| the slot ID used to identify the logical position of this attachment | |
| float | scale |
| this is a model scale which applies to x,y,z axis uniformly. | |
| Vector3 | m_vOffset |
| bool | m_bIsAutoCharacter: 1 |
| whether the model is a automatic character model, bone matrix calculation for automatic model is given externally. More... | |
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::IObject | |
| WeakPtr_type | m_weak_reference |
Protected Attributes inherited from ParaEngine::CRefCounted | |
| int | m_refcount |
Attachment on parax model canvas.
| CanvasAttachment * CanvasAttachment::addChild | ( | ParaXEntity * | model, |
| int | id, | ||
| int | slot, | ||
| float | scale = 1.0f |
||
| ) |
add a new model to this node.
| model | the parax model entity |
| id | model id, which is used to find the attach point(transform) in the parent model. |
| slot | slot is a number which designate a predefined position on the base mode, to which another model can be attached. |
| scale | the scale applies to all x,y,z of the attached model. default value is 1.0 |
| bool CanvasAttachment::animate | ( | SceneState * | sceneState, |
| CharacterPose * | pPose, | ||
| bool | bUseGlobal = false, |
||
| int | nAnimID = 0, |
||
| IAttributeFields * | pAnimInstance = NULL |
||
| ) |
recalculate all bones of this attachment and all its children.
| pPose | it will override the poses defined in the model. |
| bUseGlobal | if true, the standing animation will be played using the global timer. This is usually for attached the objects. |
| nAnimID | the animation id to play. It defaults to ANIM_STAND(0) |
| void CanvasAttachment::AttachChild | ( | CanvasAttachment * | att | ) |
attach a new child to this attachment.
The new child will be deleted automatically.
| void CanvasAttachment::draw | ( | SceneState * | sceneState, |
| ParaXModelCanvas * | c, | ||
| CParameterBlock * | materialParams = NULL |
||
| ) |
draw this attachment and all its children.
| IAttributeFields * CanvasAttachment::GetAttributeObject | ( | ) |
get the mesh object's attribute object.
|
virtual |
we support multi-dimensional child object.
by default objects have only one column.
Reimplemented from ParaEngine::IAttributeFields.
|
virtual |
get attribute by child object.
used to iterate across the attribute field hierarchy.
Reimplemented from ParaEngine::IAttributeFields.
|
virtual |
get the number of child objects (row count) in the given column.
please note different columns can have different row count.
Reimplemented from ParaEngine::IAttributeFields.
|
virtual |
this class should be implemented if one wants to add new attribute.
This function is always called internally.
Reimplemented from ParaEngine::IAttributeFields.
| void CanvasAttachment::release | ( | ) |
this is a self destruction method.
it delete this; Note: use with caution.
| bool CanvasAttachment::SetupParantTransform | ( | float | fCameraToCurObjectDistance = 0.f | ) |
set up the transform, so that this attached model can be drawn in its local space.
| fCameraToCurObjectDistance | this is only used for LOD |
| int ParaEngine::CanvasAttachment::id |
this id will be used to index into the parent model's attachment lookup table to find the actual attachment point in the parent model.
| bool ParaEngine::CanvasAttachment::m_bIsAutoCharacter |
whether the model is a automatic character model, bone matrix calculation for automatic model is given externally.
Such as the upper bottom turning angle. The default value is false.
1.8.12