HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_Agent.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_Agent_h__
10 #define __HOM_Agent_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_ElemPtr.h"
14 #include "HOM_PackedPrim.h"
15 
16 class HOM_AgentClip;
18 class HOM_AgentLayer;
19 class HOM_AgentRig;
20 
21 SWIGOUT(%rename(Agent) HOM_Agent;)
22 
23 class HOM_API HOM_Agent : virtual public HOM_PackedPrim
24 {
25 public:
27  { HOM_CONSTRUCT_OBJECT(this) }
28 
29  HOM_Agent(const HOM_Agent &prim)
30  : HOM_Prim(prim), HOM_PackedPrim(prim)
31  { HOM_CONSTRUCT_OBJECT(this) }
32 
33  ~HOM_Agent() override
34  { HOM_DESTRUCT_OBJECT(this) }
35 
36  // Let swig know we're overriding __repr__ for this class so it doesn't
37  // provide its own __repr__.
38  SWIGOUT(virtual std::string __repr__() = 0;)
39 
40  SWIGOUT(%newobject definition;)
41  virtual HOM_AgentDefinition *definition() = 0;
42 
43  virtual void setDefinition(const HOM_AgentDefinition &definition) = 0;
44 
45  // This method is deprecated - use currentLayers() instead.
46  SWIGOUT(%newobject currentLayer;)
47  virtual HOM_AgentLayer *currentLayer() = 0;
48 
49  // This method is deprecated - use setCurrentLayers() instead.
50  virtual void setCurrentLayer(const HOM_AgentLayer &layer) = 0;
51 
52  // This method is deprecated - use collisionLayers() instead.
53  SWIGOUT(%newobject collisionLayer;)
54  virtual HOM_AgentLayer *collisionLayer() = 0;
55 
56  // This method is deprecated - use setCurrentLayers() instead.
57  virtual void setCollisionLayer(const HOM_AgentLayer &layer) = 0;
58 
59  virtual std::vector<HOM_ElemPtr<HOM_AgentLayer> > currentLayers() = 0;
60  virtual void setCurrentLayers(
61  const std::vector<HOM_AgentLayer *> &layers) = 0;
62 
63  virtual std::vector<HOM_ElemPtr<HOM_AgentLayer> > collisionLayers() = 0;
64  virtual void setCollisionLayers(
65  const std::vector<HOM_AgentLayer *> &layers) = 0;
66 
67  virtual std::vector<HOM_ElemPtr<HOM_AgentClip> > clips() = 0;
68 
69  virtual void setClips(const std::vector<HOM_AgentClip *> &clips) = 0;
70 
71  virtual std::vector<double> clipTimes() = 0;
72 
73  virtual void setClipTimes(const std::vector<double> &times) = 0;
74 
75  virtual std::vector<double> clipWeights() = 0;
76 
77  virtual void setClipWeights(const std::vector<double> &weights) = 0;
78 
79  SWIGOUT(%newobject localTransform;)
80  virtual HOM_Matrix4 *localTransform(int i) = 0;
81 
82  virtual void setLocalTransform(const HOM_Matrix4 &xform, int i) = 0;
83 
84  SWIGOUT(%newobject worldTransform;)
85  virtual HOM_Matrix4 *worldTransform(int i) = 0;
86 
87  virtual void setWorldTransform(const HOM_Matrix4 &xform, int i) = 0;
88 
89  virtual double channelValue(int i) = 0;
90  virtual void setChannelValue(double value, int i) = 0;
91 };
92 
93 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1298
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
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
HOM_Agent(const HOM_Agent &prim)
Definition: HOM_Agent.h:29
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
~HOM_Agent() override
Definition: HOM_Agent.h:33
HOM_Agent()
Definition: HOM_Agent.h:26
GLbyte * weights
Definition: glew.h:7581
GLsizei const GLfloat * value
Definition: glcorearb.h:823
GLenum GLsizei GLsizei GLsizei GLsizei layers
Definition: glew.h:2878