HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_AgentLinearSkinDeformer Class Reference

The default deformer for agents, which uses GU_LinearSkinDeformer. More...

#include <GU_AgentLinearSkinDeformer.h>

+ Inheritance diagram for GU_AgentLinearSkinDeformer:

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_StringHoldername () 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_IntrusiveRefCounteroperator= (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...
 

Detailed Description

The default deformer for agents, which uses GU_LinearSkinDeformer.

Definition at line 17 of file GU_AgentLinearSkinDeformer.h.

Member Enumeration Documentation

Enumerator
Linear 
DualQuat 
DualQuatBlend 

Definition at line 20 of file GU_AgentLinearSkinDeformer.h.

Constructor & Destructor Documentation

GU_AgentLinearSkinDeformer::GU_AgentLinearSkinDeformer ( Method  method = Method::Linear)

Member Function Documentation

void GU_AgentLinearSkinDeformer::computeBounds ( UT_BoundingBox box,
const GU_AgentShapeLib::Shape src_shape,
exint  xform_idx,
const GU_Agent src_agent 
) const
overridevirtual

Computes the bounding box from the joint positions as a fast approximation.

Reimplemented from GU_AgentShapeDeformer.

void GU_AgentLinearSkinDeformer::deform ( GU_Detail gdp,
const GU_AgentShapeLib::Shape src_shape,
exint  xform_idx,
const GU_Agent src_agent 
) const
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.


The documentation for this class was generated from the following file: