HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_ik_Joint.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 
7 #ifndef __HOM_ik_Joint_h__
8 #define __HOM_ik_Joint_h__
9 
10 #include "HOM_API.h"
11 #include "HOM_ElemPtr.h"
12 #include "HOM_Module.h"
13 #include "HOM_PtrOrNull.h"
14 #include <string>
15 
16 class HOM_Matrix4;
17 class HOM_Vector3;
18 
19 SWIGOUT(%rename(_ik_Joint) HOM_ik_Joint;)
20 
22 {
23 public:
25  virtual ~HOM_ik_Joint() { HOM_DESTRUCT_OBJECT(this) }
26 
27  virtual bool operator==(HOM_PtrOrNull<HOM_ik_Joint> joint) const = 0;
29  { return !operator==(joint); }
30 
31  virtual int __hash__() const = 0;
32  virtual std::string __repr__() const = 0;
33 
34  SWIGOUT(%newobject worldTransform;)
35  virtual HOM_Matrix4 *worldTransform() const = 0;
36  virtual void setWorldTransform(const HOM_Matrix4 &xform) = 0;
37 
38  // TODO - add child accessor?
39  // TODO - add joint index accessor?
40 
41  SWIGOUT(%newobject parent;)
42  virtual HOM_ik_Joint *parent() const = 0;
43  virtual void setParent(HOM_ik_Joint *parent) = 0;
44 
45  virtual std::string rotationOrder() const = 0;
46  virtual void setRotationOrder(const char *rotate_order) = 0;
47 
48  SWIGOUT(%newobject rotationWeights;)
49  virtual HOM_Vector3 *rotationWeights() const = 0;
50  virtual void setRotationWeights(const HOM_Vector3 &weights) = 0;
51 
52  SWIGOUT(%newobject translationWeights;)
53  virtual HOM_Vector3 *translationWeights() const = 0;
54  virtual void setTranslationWeights(const HOM_Vector3 &weights) = 0;
55 
56  virtual double mass() const = 0;
57  virtual void setMass(double mass) = 0;
58 
59  SWIGOUT(%newobject localCenterOfMass;)
60  virtual HOM_Vector3 *localCenterOfMass() const = 0;
61  virtual void setLocalCenterOfMass(const HOM_Vector3 &com) = 0;
62 
63  virtual std::pair<HOM_ElemPtr<HOM_Vector3>, HOM_ElemPtr<HOM_Vector3> >
64  rotationLimits() const = 0;
65  virtual void setRotationLimits(const HOM_Vector3 &lower,
66  const HOM_Vector3 &upper) = 0;
67 
68  virtual std::pair<HOM_ElemPtr<HOM_Vector3>, HOM_ElemPtr<HOM_Vector3> >
69  translationLimits() const = 0;
70  virtual void setTranslationLimits(const HOM_Vector3 &lower,
71  const HOM_Vector3 &upper) = 0;
72 
73  SWIGOUT(%newobject restTransform;)
74  virtual HOM_Matrix4 *restTransform() const = 0;
75  virtual void setRestTransform(const HOM_Matrix4 &xform) = 0;
76 
77  SWIGOUT(%newobject restRotationWeights;)
78  virtual HOM_Vector3 *restRotationWeights() const = 0;
79  virtual void setRestRotationWeights(const HOM_Vector3 &weights) = 0;
80 
81  SWIGOUT(%newobject restTranslationWeights;)
82  virtual HOM_Vector3 *restTranslationWeights() const = 0;
83  virtual void setRestTranslationWeights(const HOM_Vector3 &weights) = 0;
84 };
85 
86 #endif
std::string upper(string_view a)
Return an all-upper case version of a (locale-independent).
Definition: strutil.h:349
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
bool operator!=(HOM_PtrOrNull< HOM_ik_Joint > joint) const
Definition: HOM_ik_Joint.h:28
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
GA_API const UT_StringHolder com
virtual ~HOM_ik_Joint()
Definition: HOM_ik_Joint.h:25
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:353
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1237
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
GA_API const UT_StringHolder mass
std::string lower(string_view a)
Return an all-upper case version of a (locale-independent).
Definition: strutil.h:342
GLbyte * weights
Definition: glew.h:7581
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:556
int __hash__()