HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_ik_Skeleton.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_Skeleton_h__
8 #define __HOM_ik_Skeleton_h__
9 
10 #include "HOM_API.h"
11 #include "HOM_IterableList.h"
12 #include "HOM_Matrix4.h"
13 #include "HOM_Module.h"
14 #include "HOM_PtrOrNull.h"
15 #include "HOM_Vector3.h"
16 #include <string>
17 
18 class HOM_ik_Joint;
19 
20 SWIGOUT(%rename(_ik_Skeleton) HOM_ik_Skeleton;)
21 // Force SWIG to output an __init__ method even though it determines this
22 // class is abstract.
23 SWIGOUT(%feature("notabstract") HOM_ik_Skeleton;)
24 
26 {
27 public:
28 #ifdef SWIG
29 %extend
30 {
32  {
33  return HOM().ik()._newSkeleton();
34  }
35 }
36 #else
38  { HOM_CONSTRUCT_OBJECT(this) }
39 #endif
40 
42 
43  virtual bool operator==(HOM_PtrOrNull<HOM_ik_Skeleton> skel) const = 0;
45  { return !operator==(skel); }
46 
47  virtual int __hash__() const = 0;
48  virtual std::string __repr__() const = 0;
49 
50  SWIGOUT(%kwargs addJoint;)
51  SWIGOUT(%newobject addJoint;)
52  virtual HOM_ik_Joint *addJoint(
53  const HOM_Matrix4 &world_transform = HOM_Matrix4(1.0),
54  HOM_ik_Joint *parent = nullptr,
55  const HOM_Vector3 &rotation_weights = HOM_Vector3(1.0, 1.0, 1.0),
56  const HOM_Vector3 &translation_weights = HOM_Vector3(0.0, 0.0, 0.0),
57  double mass = 1.0,
58  const HOM_Vector3 &local_com = HOM_Vector3(0.0, 0.0, 0.0)) = 0;
59 
60  SWIGOUT(%newobject joints;)
61  virtual HOM_IterableList<HOM_ik_Joint> *joints() const = 0;
62 
63  SWIGOUT(%newobject centerOfMass;)
64  virtual HOM_Vector3 *centerOfMass() const = 0;
65 };
66 
67 #endif
virtual int __hash__() const =0
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
virtual HOM_ik_Joint * parent() const =0
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:352
bool operator!=(HOM_PtrOrNull< HOM_ik_Skeleton > skel) const
virtual HOM_ik_Skeleton * _newSkeleton()=0
#define HOM_API
Definition: HOM_API.h:13
virtual ~HOM_ik_Skeleton()
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1290
virtual HOM_ik & ik()=0
GA_API const UT_StringHolder mass
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_API HOM_Module & HOM()
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:542