HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_CopCable.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 #pragma once
10 
11 #include "HOM_API.h"
12 #include "HOM_Defines.h"
13 #include "HOM_Module.h"
14 
15 #include "HOM_ImageLayer.h"
16 #include "HOM_Geometry.h"
17 #include "HOM_NanoVDB.h"
18 #include "HOM_DetachedAttrib.h"
19 
20 SWIGOUT(%rename(CopCable) HOM_CopCable;)
21 SWIGOUT(%feature("notabstract") HOM_CopCable;)
22 
24 {
25 public:
26 #ifdef SWIG
27 %extend
28 {
29  HOM_CopCable(HOM_CopCable *const cable = nullptr)
30  { return HOM().newCopCable(cable); }
31 }
32 #else
34  { HOM_CONSTRUCT_OBJECT(this) }
36  { HOM_CONSTRUCT_OBJECT(this) }
37 #endif
38  virtual ~HOM_CopCable()
39  { HOM_DESTRUCT_OBJECT(this) }
40 
41  virtual int wireCount() const = 0;
42  virtual int appearanceToIndex(
43  const std::string &name,
44  const int appearance = 0) const = 0;
45  virtual int indexToAppearance(int idx) const = 0;
46  virtual std::string __repr__() const = 0;
47  virtual std::string wireName(int idx) const = 0;
48  virtual std::string wireDataTypeByIndex(int idx) const = 0;
49  virtual std::string wireDataType(const std::string &name,
50  int idx) const = 0;
51 
52  virtual std::vector<std::string> wireNames() const = 0;
53 
54  SWIGOUT(%newobject layerByIndex);
55  virtual HOM_ImageLayer *layerByIndex(int idx) = 0;
56  SWIGOUT(%newobject layer);
57  virtual HOM_ImageLayer *layer(const std::string &name,
58  int appearance = 0) = 0;
59  SWIGOUT(%newobject geometryByIndex);
60  virtual HOM_Geometry *geometryByIndex(int idx) = 0;
61  SWIGOUT(%newobject geometry);
62  virtual HOM_Geometry *geometry(const std::string &name,
63  int appearance = 0) = 0;
64  SWIGOUT(%newobject vdbByIndex);
65  virtual HOM_NanoVDB *vdbByIndex(int idx) = 0;
66  SWIGOUT(%newobject vdb);
67  virtual HOM_NanoVDB *vdb(const std::string &name,
68  int appearance = 0) = 0;
69  SWIGOUT(%newobject attribByIndex);
70  virtual HOM_DetachedAttrib *attribByIndex(int idx) = 0;
71  SWIGOUT(%newobject attrib);
72  virtual HOM_DetachedAttrib *attrib(const std::string &name,
73  int appearance = 0) = 0;
74  virtual void addLayer(const std::string &name,
75  const HOM_ImageLayer&) = 0;
76  virtual void addGeometry(const std::string &name,
77  HOM_Geometry&) = 0;
78  virtual void addVDB(const std::string &name,
79  const HOM_NanoVDB&) = 0;
80  virtual void addAttrib(const std::string &name,
81  const HOM_DetachedAttrib&) = 0;
82  virtual void removeByIndex(int idx) = 0;
83  virtual void remove(const std::string &name,
84  int appearance = 0) = 0;
85  virtual void setWireName(int idx, const std::string &name) = 0;
86  virtual void setDataByIndex(int idx, const HOM_ImageLayer&) = 0;
87  virtual void setData(const std::string &name,
88  const HOM_ImageLayer&) = 0;
89  virtual void setData(const std::string &name, int appearance,
90  const HOM_ImageLayer&) = 0;
91  virtual void setDataByIndex(int idx, HOM_Geometry&) = 0;
92  virtual void setData(const std::string &name,
93  HOM_Geometry&) = 0;
94  virtual void setData(const std::string &name, int appearance,
95  HOM_Geometry&) = 0;
96  virtual void setDataByIndex(int idx, const HOM_NanoVDB&) = 0;
97  virtual void setData(const std::string &name,
98  const HOM_NanoVDB&) = 0;
99  virtual void setData(const std::string &name, int appearance,
100  const HOM_NanoVDB&) = 0;
101  virtual void setDataByIndex(int idx, const HOM_DetachedAttrib&) = 0;
102  virtual void setData(const std::string &name,
103  const HOM_DetachedAttrib&) = 0;
104  virtual void setData(const std::string &name, int appearance,
105  const HOM_DetachedAttrib&) = 0;
106 };
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1398
HOM_CopCable(const HOM_CopCable &)
Definition: HOM_CopCable.h:35
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1299
virtual ~HOM_CopCable()
Definition: HOM_CopCable.h:38
virtual HOM_CopCable * newCopCable(HOM_CopCable *cable=nullptr)=0
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1397
virtual std::vector< int > geometry()=0
GLuint const GLchar * name
Definition: glcorearb.h:786
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_API HOM_Module & HOM()