HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_ik_Target.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_Target_h__
8 #define __HOM_ik_Target_h__
9 
10 #include "HOM_API.h"
11 #include "HOM_Module.h"
12 #include "HOM_PtrOrNull.h"
13 #include <string>
14 
15 class HOM_ik_Joint;
16 class HOM_Matrix4;
17 
18 SWIGOUT(%rename(_ik_Target) HOM_ik_Target;)
19 // Force SWIG to output an __init__ method even though it determines this
20 // class is abstract.
21 SWIGOUT(%feature("notabstract") HOM_ik_Target;)
22 
24 {
25 public:
26 #ifdef SWIG
27 %extend
28 {
29  %kwargs HOM_ik_Target;
30  HOM_ik_Target(
31  HOM_ik_Joint *joint = nullptr,
32  const HOM_Matrix4 &goal_transform = HOM_Matrix4(1.0),
33  const HOM_Matrix4 &joint_offset = HOM_Matrix4(1.0),
34  const HOM_EnumValue &target_type = HOM__ik_targetType::Position,
35  double weight = 1.0,
36  int priority = 0,
37  int depth = -1)
38  {
39  return HOM().ik()._newTarget(joint, goal_transform, joint_offset,
40  target_type, weight, priority, depth);
41  }
42 }
43 #else
45  { HOM_CONSTRUCT_OBJECT(this) }
46 #endif
47 
48  virtual ~HOM_ik_Target() { HOM_DESTRUCT_OBJECT(this) }
49 
50  virtual bool operator==(HOM_PtrOrNull<HOM_ik_Target> target) const = 0;
52  { return !operator==(target); }
53 
54  virtual int __hash__() const = 0;
55  virtual std::string __repr__() const = 0;
56 
57  SWIGOUT(%newobject joint;)
58  virtual HOM_ik_Joint *joint() const = 0;
59  virtual void setJoint(HOM_ik_Joint *joint) = 0;
60 
61  SWIGOUT(%newobject goalTransform;)
62  virtual HOM_Matrix4 *goalTransform() const = 0;
63  virtual void setGoalTransform(const HOM_Matrix4 &xform) = 0;
64 
65  SWIGOUT(%newobject jointOffset;)
66  virtual HOM_Matrix4 *jointOffset() const = 0;
67  virtual void setJointOffset(const HOM_Matrix4 &offset) = 0;
68 
69  virtual HOM_EnumValue &targetType() const = 0;
70  virtual void setTargetType(const HOM_EnumValue &target_type) = 0;
71 
72  virtual double weight() const = 0;
73  virtual void setWeight(double weight) = 0;
74 
75  virtual int priority() const = 0;
76  virtual void setPriority(int level) = 0;
77 
78  virtual int depth() const = 0;
79  virtual void setDepth(int depth) = 0;
80 };
81 
82 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
GLint level
Definition: glcorearb.h:107
virtual ~HOM_ik_Target()
Definition: HOM_ik_Target.h:48
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:353
virtual HOM_ik_Target * _newTarget(HOM_ik_Joint *joint, const HOM_Matrix4 &goal_transform, const HOM_Matrix4 &joint_offset, const HOM_EnumValue &target_type, double weight, int priority, int depth)=0
GLuint GLuint GLfloat weight
Definition: glew.h:13892
GLenum target
Definition: glcorearb.h:1666
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glcorearb.h:475
bool operator!=(HOM_PtrOrNull< HOM_ik_Target > target) const
Definition: HOM_ik_Target.h:51
#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
int __hash__()
virtual HOM_ik & ik()=0
GLintptr offset
Definition: glcorearb.h:664
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:556