HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_AgentDefinition.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_AgentDefinition_h__
10 #define __HOM_AgentDefinition_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_IterableList.h"
14 #include "HOM_Module.h"
15 #include "HOM_PtrOrNull.h"
16 
17 class HOM_AgentClip;
18 class HOM_AgentLayer;
19 class HOM_AgentRig;
22 
23 SWIGOUT(%rename(AgentDefinition) HOM_AgentDefinition;)
24 // Force SWIG to output an __init__ method even though it determines this
25 // class is abstract.
26 SWIGOUT(%feature("notabstract") HOM_AgentDefinition;)
27 
29 {
30 public:
31 #ifdef SWIG
32 %extend
33 {
35  const HOM_AgentShapeLibrary &shapelib)
36  { return HOM().newAgentDefinition(rig, shapelib); }
37 }
38 #else
40  { HOM_CONSTRUCT_OBJECT(this) }
41 #endif
42 
44  { HOM_DESTRUCT_OBJECT(this) }
45 
46  virtual bool operator==(HOM_PtrOrNull<HOM_AgentDefinition> defn) const = 0;
48  { return !operator==(defn); }
49 
50  virtual int __hash__() const = 0;
51  virtual std::string __repr__() const = 0;
52 
53  SWIGOUT(%newobject freeze;)
54  SWIGOUT(%kwargs freeze;)
55  virtual HOM_AgentDefinition *freeze(HOM_AgentShapeLibrary *new_shapelib = 0,
56  HOM_AgentRig *new_rig = 0) const = 0;
57 
58  SWIGOUT(%newobject rig;)
59  virtual HOM_AgentRig *rig() const = 0;
60 
61  SWIGOUT(%newobject shapeLibrary;)
62  virtual HOM_AgentShapeLibrary *shapeLibrary() const = 0;
63 
64  SWIGOUT(%newobject layers;)
65  virtual HOM_IterableList<HOM_AgentLayer> *layers() const = 0;
66 
67  SWIGOUT(%newobject findLayer;)
68  virtual HOM_AgentLayer * findLayer(const char *name) const = 0;
69 
70  SWIGOUT(%newobject clips;)
71  virtual HOM_IterableList<HOM_AgentClip> *clips() const = 0;
72 
73  SWIGOUT(%newobject findClip;)
74  virtual HOM_AgentClip * findClip(const char *name) const = 0;
75 
76  SWIGOUT(%newobject transformGroups;)
77  virtual HOM_IterableList<HOM_AgentTransformGroup> *
78  transformGroups() const = 0;
79 
80  SWIGOUT(%newobject findTransformGroup;)
81  virtual HOM_AgentTransformGroup *
82  findTransformGroup(const char *name) const = 0;
83 
84  virtual void addClip(const HOM_AgentClip &clip) = 0;
85  virtual void removeClip(const char *name) = 0;
86 
87  virtual void addLayer(const HOM_AgentLayer &layer) = 0;
88  virtual void removeLayer(const char *name) = 0;
89 
90  virtual void addTransformGroup(const HOM_AgentTransformGroup &group) = 0;
91  virtual void removeTransformGroup(const char *name) = 0;
92 };
93 
94 #endif
virtual HOM_AgentDefinition * newAgentDefinition(const HOM_AgentRig &rig, const HOM_AgentShapeLibrary &shapelib)=0
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1130
GLuint const GLchar * name
Definition: glew.h:1814
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:349
GLenum GLsizei GLsizei GLsizei GLsizei layers
Definition: glew.h:2864
#define HOM_API
Definition: HOM_API.h:13
bool operator!=(HOM_PtrOrNull< HOM_AgentDefinition > defn) const
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1129
virtual int __hash__() const =0
GLsizei const GLchar *const * string
Definition: glew.h:1844
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER T clip(const T &p, const Box< T > &box)
Definition: ImathBoxAlgo.h:89
GLint GLboolean GLint layer
Definition: glew.h:3601
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:590
GLboolean GLuint group
Definition: glew.h:2745