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_AgentMetadata;
20 class HOM_AgentRig;
23 
24 SWIGOUT(%rename(AgentDefinition) HOM_AgentDefinition;)
25 // Force SWIG to output an __init__ method even though it determines this
26 // class is abstract.
27 SWIGOUT(%feature("notabstract") HOM_AgentDefinition;)
28 
30 {
31 public:
32 #ifdef SWIG
33 %extend
34 {
36  const HOM_AgentShapeLibrary *shapelib)
37  { return HOM().newAgentDefinition(rig, shapelib); }
38 }
39 #else
41  { HOM_CONSTRUCT_OBJECT(this) }
42 #endif
43 
45  { HOM_DESTRUCT_OBJECT(this) }
46 
47  virtual bool operator==(HOM_PtrOrNull<HOM_AgentDefinition> defn) const = 0;
49  { return !operator==(defn); }
50 
51  virtual int __hash__() const = 0;
52  virtual std::string __repr__() const = 0;
53 
54  SWIGOUT(%newobject freeze;)
55  SWIGOUT(%kwargs freeze;)
56  virtual HOM_AgentDefinition *freeze(HOM_AgentShapeLibrary *new_shapelib = 0,
57  HOM_AgentRig *new_rig = 0) const = 0;
58 
59  SWIGOUT(%newobject rig;)
60  virtual HOM_AgentRig *rig() const = 0;
61 
62  SWIGOUT(%newobject shapeLibrary;)
63  virtual HOM_AgentShapeLibrary *shapeLibrary() const = 0;
64 
65  SWIGOUT(%newobject layers;)
66  virtual HOM_IterableList<HOM_AgentLayer> *layers() const = 0;
67 
68  SWIGOUT(%newobject findLayer;)
69  virtual HOM_AgentLayer * findLayer(const char *name) const = 0;
70 
71  SWIGOUT(%newobject clips;)
72  virtual HOM_IterableList<HOM_AgentClip> *clips() const = 0;
73 
74  SWIGOUT(%newobject findClip;)
75  virtual HOM_AgentClip * findClip(const char *name) const = 0;
76 
77  SWIGOUT(%newobject transformGroups;)
78  virtual HOM_IterableList<HOM_AgentTransformGroup> *
79  transformGroups() const = 0;
80 
81  SWIGOUT(%newobject findTransformGroup;)
82  virtual HOM_AgentTransformGroup *
83  findTransformGroup(const char *name) const = 0;
84 
85  virtual void addClip(const HOM_AgentClip &clip) = 0;
86  virtual void removeClip(const char *name) = 0;
87 
88  virtual void addLayer(const HOM_AgentLayer &layer) = 0;
89  virtual void removeLayer(const char *name) = 0;
90 
91  virtual void addTransformGroup(const HOM_AgentTransformGroup &group) = 0;
92  virtual void removeTransformGroup(const char *name) = 0;
93 
94  SWIGOUT(%newobject metadata;)
95  virtual HOM_AgentMetadata *metadata() const = 0;
96  virtual void setMetadata(const HOM_AgentMetadata *metadata) = 0;
97 };
98 
99 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
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
virtual HOM_AgentDefinition * newAgentDefinition(const HOM_AgentRig *rig, const HOM_AgentShapeLibrary *shapelib)=0
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1299
#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:1290
GLuint const GLchar * name
Definition: glcorearb.h:786
virtual int __hash__() const =0
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_API HOM_Module & HOM()
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER IMATH_HOSTDEVICE IMATH_CONSTEXPR14 T clip(const T &p, const Box< T > &box) IMATH_NOEXCEPT
Definition: ImathBoxAlgo.h:29
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:542