HDK
|
The default deformer for agents, which uses GU_LinearSkinDeformer. More...
#include <GU_AgentLinearSkinDeformer.h>
Public Types | |
enum | Method : exint { Method::Linear = 0, Method::DualQuat, Method::DualQuatBlend } |
Public Member Functions | |
GU_AgentLinearSkinDeformer (Method method=Method::Linear) | |
void | deform (GU_Detail &gdp, const GU_AgentShapeLib::Shape &src_shape, exint xform_idx, const GU_Agent &src_agent) const override |
void | computeBounds (UT_BoundingBox &box, const GU_AgentShapeLib::Shape &src_shape, exint xform_idx, const GU_Agent &src_agent) const override |
Public Member Functions inherited from GU_AgentShapeDeformer | |
GU_AgentShapeDeformer (const UT_StringHolder &name) | |
virtual | ~GU_AgentShapeDeformer ()=default |
const UT_StringHolder & | name () const |
Public Member Functions inherited from UT_IntrusiveRefCounter< GU_AgentShapeDeformer > | |
SYS_FORCE_INLINE | UT_IntrusiveRefCounter () noexcept |
Default constructor: Sets counter to 0. More... | |
SYS_FORCE_INLINE | UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept |
Copy constructor: Sets counter to 0. More... | |
UT_IntrusiveRefCounter & | operator= (const UT_IntrusiveRefCounter &) noexcept |
Assignment operator: Does not modify counter. More... | |
SYS_FORCE_INLINE uint32 | use_count () const noexcept |
Return current counter. More... | |
SYS_FORCE_INLINE bool | conditionalAddRef () noexcept |
Additional Inherited Members | |
Protected Member Functions inherited from UT_IntrusiveRefCounter< GU_AgentShapeDeformer > | |
SYS_FORCE_INLINE | ~UT_IntrusiveRefCounter () |
Destructor: Only derived classes can destruct this. More... | |
The default deformer for agents, which uses GU_LinearSkinDeformer.
Definition at line 17 of file GU_AgentLinearSkinDeformer.h.
|
strong |
Enumerator | |
---|---|
Linear | |
DualQuat | |
DualQuatBlend |
Definition at line 20 of file GU_AgentLinearSkinDeformer.h.
GU_AgentLinearSkinDeformer::GU_AgentLinearSkinDeformer | ( | Method | method = Method::Linear | ) |
|
overridevirtual |
Computes the bounding box from the joint positions as a fast approximation.
Reimplemented from GU_AgentShapeDeformer.
|
overridevirtual |
Deform the provided detail, which was unpacked from the given shape binding (shape & transform index) and agent.
The transform index can be used for deformers that need to know the shape's transform in order to perform the deformation correctly (e.g. for skinning). Deformers are not responsible for applying the transform to the geometry - this is performed after the deformer is executed. Note that the transform index may be -1 if the shape was not attached to a joint.
Implements GU_AgentShapeDeformer.