#include <Attachment.h>
Inherits EMotionFX::BaseObject.
Inherited by EMotionFX::AttachmentNode, and EMotionFX::AttachmentSkin.
Public Member Functions | |
virtual uint32 | GetType () const =0 |
virtual const char * | GetTypeString () const =0 |
virtual bool | GetIsInfluencedByMultipleJoints () const =0 |
virtual void | Update () |
virtual void | UpdateJointTransforms (Pose &outPose) |
ActorInstance * | GetAttachmentActorInstance () const |
ActorInstance * | GetAttachToActorInstance () const |
Public Member Functions inherited from EMotionFX::BaseObject | |
BaseObject () | |
virtual | ~BaseObject () |
Public Member Functions inherited from MCore::MemoryObject | |
MemoryObject () | |
virtual | ~MemoryObject () |
void | IncreaseReferenceCount () |
void | DecreaseReferenceCount () |
void | Destroy () |
uint32 | GetReferenceCount () const |
Protected Member Functions | |
Attachment (ActorInstance *attachToActorInstance, ActorInstance *attachment) | |
virtual | ~Attachment () |
Protected Member Functions inherited from EMotionFX::BaseObject | |
void | Delete () override |
virtual void | Delete () |
Protected Attributes | |
ActorInstance * | m_attachment |
ActorInstance * | m_actorInstance |
The attachment base class. An attachment can be a simple weapon attached to a hand node, but also a mesh or set of meshes and bones that deform with the main skeleton. This last example is useful for clothing items or character customization.
|
protected |
The constructor.
attachToActorInstance | The actor instance to attach to (for example a cowboy). |
attachment | The actor instance that you want to attach to this node (for example a gun). |
|
protectedvirtual |
The destructor. This does NOT delete the actor instance used by the attachment.
ActorInstance * EMotionFX::Attachment::GetAttachmentActorInstance | ( | ) | const |
Get the actor instance object of the attachment. This would for example return the actor instance that represents the gun when you attached a gun to a cowboy.
ActorInstance * EMotionFX::Attachment::GetAttachToActorInstance | ( | ) | const |
Get the actor instance where we attach this attachment to. This would for example return the cowboy, if we attach a gun to a cowboy.
|
pure virtual |
Check if this attachment is being influenced by multiple joints or not. This is the case for attachments such as clothing items which get influenced by multiple joints inside the actor instance they are attached to.
Implemented in EMotionFX::AttachmentNode, and EMotionFX::AttachmentSkin.
|
pure virtual |
Get the attachment type ID. Every class inherited from this base class should have some TYPE ID.
Implemented in EMotionFX::AttachmentNode, and EMotionFX::AttachmentSkin.
|
pure virtual |
Get the attachment type string. Every class inherited from this base class should have some type ID string, which should be equal to the class name really.
Implemented in EMotionFX::AttachmentNode, and EMotionFX::AttachmentSkin.
|
inlinevirtual |
Update the attachment. This can internally update node matrices for example, or other things. This depends on the attachment type.
Reimplemented in EMotionFX::AttachmentNode, and EMotionFX::AttachmentSkin.
|
inlinevirtual |
Update the joint transforms of the attachment. This can be implemented for say skin attachments, which copy over joint transforms from the actor instance they are attached to.
outPose | The pose that will be modified. |
Reimplemented in EMotionFX::AttachmentSkin.
|
protected |
The actor instance where this attachment is added to.
|
protected |
The actor instance that represents the attachment.