HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_AgentLinearSkinDeformer.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GU_AgentLinearSkinDeformer.h (GU Library, C++)
7  *
8  */
9 
10 #ifndef __GU_AgentLinearSkinDeformer__
11 #define __GU_AgentLinearSkinDeformer__
12 
13 #include "GU_API.h"
14 #include "GU_AgentShapeDeformer.h"
15 
16 /// The default deformer for agents, which uses GU_LinearSkinDeformer.
18 {
19 public:
20  enum class Method : exint
21  {
22  Linear = 0,
23  DualQuat,
24  DualQuatBlend
25  };
26 
27  GU_AgentLinearSkinDeformer(Method method = Method::Linear);
28 
29  void
30  deform(GU_Detail &gdp, const GU_AgentShapeLib::Shape &src_shape,
31  exint xform_idx, const GU_Agent &src_agent) const override;
32 
33  /// Computes the bounding box from the joint positions as a fast
34  /// approximation.
35  void
37  exint xform_idx, const GU_Agent &src_agent) const override;
38 
39 private:
40  Method myMethod;
41 };
42 
43 #endif
The default deformer for agents, which uses GU_LinearSkinDeformer.
int64 exint
Definition: SYS_Types.h:125
virtual void computeBounds(UT_BoundingBox &box, const GU_AgentShapeLib::Shape &src_shape, exint xform_idx, const GU_Agent &src_agent) const
Shape(GA_Offset offset)
#define GU_API
Definition: GU_API.h:14
virtual void deform(GU_Detail &gdp, const GU_AgentShapeLib::Shape &src_shape, exint xform_idx, const GU_Agent &src_agent) const =0
Defines a deformer for an agent shape.