HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_AgentRig.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  * COMMENTS:
7  */
8 
9 #ifndef __HOM_AgentRig_h__
10 #define __HOM_AgentRig_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Matrix4.h"
14 #include "HOM_Module.h"
15 #include "HOM_PtrOrNull.h"
16 
17 SWIGOUT(%rename(AgentRig) HOM_AgentRig;)
18 // Force SWIG to output an __init__ method even though it determines this
19 // class is abstract.
20 SWIGOUT(%feature("notabstract") HOM_AgentRig;)
21 
23 {
24 public:
25 #ifdef SWIG
26 %extend
27 {
28  HOM_AgentRig(const char *path, bool keep_external_ref = true)
29  { return HOM().newAgentRig(path, keep_external_ref); }
30 
31  HOM_AgentRig(const char *name,
32  const std::vector<std::string> &transform_names,
33  const std::vector<std::vector<int> > &hierarchy)
34  { return HOM().newAgentRig(name, transform_names, hierarchy); }
35 }
36 #else
38  { HOM_CONSTRUCT_OBJECT(this) }
39 #endif
40 
41  virtual ~HOM_AgentRig()
42  { HOM_DESTRUCT_OBJECT(this) }
43 
44  virtual bool operator==(HOM_PtrOrNull<HOM_AgentRig> rig) const = 0;
46  { return !operator==(rig); }
47 
48  virtual int __hash__() const = 0;
49  virtual std::string __repr__() const = 0;
50 
51  SWIGOUT(%newobject freeze;)
52  virtual HOM_AgentRig *freeze() const = 0;
53 
54  virtual std::string asJSON() const = 0;
55 
56  virtual std::string name() const = 0;
57 
58  SWIGOUT(%kwargs fileName;)
59  virtual std::string fileName(bool expanded = false) const = 0;
60 
61  virtual int transformCount() = 0;
62  virtual std::string transformName(int i) = 0;
63  virtual int findTransform(const std::string &transform_name) = 0;
64 
65  virtual int parentIndex(int transform) = 0;
66  virtual std::vector<int> childIndices(int transform) = 0;
67 
68  virtual void setRestLocalTransforms(
69  const std::vector<HOM_Matrix4> &xforms) = 0;
70  SWIGOUT(%newobject restLocalTransform;)
71  virtual HOM_Matrix4 *restLocalTransform(int i) const = 0;
72  SWIGOUT(%newobject restWorldTransform;)
73  virtual HOM_Matrix4 *restWorldTransform(int i) const = 0;
74 
75  virtual int channelCount() = 0;
76  virtual std::string channelName(int i) = 0;
77  virtual double channelDefaultValue(int i) = 0;
78  virtual int channelTransform(int i) = 0;
79  virtual int findChannel(const std::string &channel_name) = 0;
80 
81  SWIGOUT(%kwargs addChannel;)
82  virtual void addChannel(const std::string &name, double default_value = 0.0,
83  int transform = -1) = 0;
84 };
85 
86 #endif
virtual ~HOM_AgentRig()
Definition: HOM_AgentRig.h:41
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
OIIO_API bool rename(string_view from, string_view to, std::string &err)
GLsizei const GLchar *const * path
Definition: glcorearb.h:3340
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:353
GLuint const GLchar * name
Definition: glcorearb.h:785
virtual int __hash__() const =0
GLuint GLenum GLenum transform
Definition: glew.h:15055
virtual HOM_AgentShapeLibrary * freeze(bool keep_external_ref=false) const =0
#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
virtual std::string fileName(bool expanded=false) const =0
virtual HOM_AgentRig * newAgentRig(const char *path, bool keep_external_ref)=0
bool operator!=(HOM_PtrOrNull< HOM_AgentRig > rig) const
Definition: HOM_AgentRig.h:45
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