00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_Vertex_h__
00017 #define __HOM_Vertex_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include <vector>
00023 class HOM_Attrib;
00024 class HOM_Geometry;
00025 class HOM_Prim;
00026 class HOM_Point;
00027
00028 SWIGOUT(%rename(Vertex) HOM_Vertex;)
00029
00030 class HOM_API HOM_Vertex
00031 {
00032 public:
00033 HOM_Vertex()
00034 { HOM_CONSTRUCT_OBJECT(this) }
00035 HOM_Vertex(const HOM_Vertex &)
00036 { HOM_CONSTRUCT_OBJECT(this) }
00037 virtual ~HOM_Vertex()
00038 { HOM_DESTRUCT_OBJECT(this) }
00039
00040 virtual bool operator==(HOM_Vertex &vertex)
00041 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00042 virtual bool operator!=(HOM_Vertex &vertex)
00043 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00044
00045 virtual int __hash__() throw(HOM_Error) = 0;
00046 virtual std::string __repr__() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00047
00048 SWIGOUT(%newobject geometry;)
00049 virtual HOM_Geometry *geometry() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00050
00051 SWIGOUT(%newobject prim;)
00052 virtual HOM_Prim *prim() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00053
00054 SWIGOUT(%newobject point;)
00055 virtual HOM_Point *point() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00056
00057 virtual int number() throw(HOM_Error) = 0;
00058
00059 SWIGPYTHONOUT(%feature("autodoc",
00060 "attribType(self) -> hou.attribType enum value") attribType;)
00061 virtual HOM_EnumValue& attribType() throw(HOM_Error) = 0;
00062
00063
00064 virtual float floatAttribValue(const char *name)
00065 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00066
00067 virtual float floatAttribValue(HOM_Attrib &attrib)
00068 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00069
00070 SWIGPYTHONOUT(%feature("autodoc",
00071 "floatListAttribValue(self, name) -> tuple of floats")
00072 floatListAttribValue(const char *);)
00073 virtual std::vector<float> floatListAttribValue(const char *name)
00074 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00075
00076 SWIGPYTHONOUT(%feature("autodoc",
00077 "floatListAttribValue(self, attrib) -> tuple of floats")
00078 floatListAttribValue(HOM_Attrib &);)
00079 virtual std::vector<float> floatListAttribValue(HOM_Attrib &attrib)
00080 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00081
00082 virtual int intAttribValue(const char *name)
00083 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00084
00085 virtual int intAttribValue(HOM_Attrib &attrib)
00086 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00087
00088 SWIGPYTHONOUT(%feature("autodoc",
00089 "intListAttribValue(self, name) -> tuple of ints")
00090 intListAttribValue(const char *);)
00091 virtual std::vector<int> intListAttribValue(const char *name)
00092 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00093
00094 SWIGPYTHONOUT(%feature("autodoc",
00095 "intListAttribValue(self, attrib) -> tuple of ints")
00096 intListAttribValue(HOM_Attrib &);)
00097 virtual std::vector<int> intListAttribValue(HOM_Attrib &attrib)
00098 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00099
00100 virtual std::string stringAttribValue(const char *name)
00101 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00102
00103 virtual std::string stringAttribValue(HOM_Attrib &attrib)
00104 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00105
00106
00107 virtual void setAttribValue(
00108 HOM_Attrib &attrib, int attrib_value)
00109 throw(HOM_OperationFailed, HOM_GeometryPermissionError,
00110 HOM_ObjectWasDeleted, HOM_Error) = 0;
00111 virtual void setAttribValue(
00112 HOM_Attrib &attrib, float attrib_value)
00113 throw(HOM_OperationFailed, HOM_GeometryPermissionError,
00114 HOM_ObjectWasDeleted, HOM_Error) = 0;
00115 virtual void setAttribValue(
00116 HOM_Attrib &attrib, const char *attrib_value)
00117 throw(HOM_OperationFailed, HOM_GeometryPermissionError,
00118 HOM_ObjectWasDeleted, HOM_Error) = 0;
00119 virtual void setAttribValue(
00120 HOM_Attrib &attrib, const std::vector<int> &attrib_value)
00121 throw(HOM_OperationFailed, HOM_GeometryPermissionError,
00122 HOM_ObjectWasDeleted, HOM_Error) = 0;
00123 virtual void setAttribValue(
00124 HOM_Attrib &attrib, const std::vector<float> &attrib_value)
00125 throw(HOM_OperationFailed, HOM_GeometryPermissionError,
00126 HOM_ObjectWasDeleted, HOM_Error) = 0;
00127
00128 virtual void setAttribValue(
00129 const char *attrib_name, int attrib_value)
00130 throw(HOM_TypeError, HOM_OperationFailed, HOM_GeometryPermissionError,
00131 HOM_ObjectWasDeleted, HOM_Error) = 0;
00132 virtual void setAttribValue(
00133 const char *attrib_name, float attrib_value)
00134 throw(HOM_TypeError, HOM_OperationFailed, HOM_GeometryPermissionError,
00135 HOM_ObjectWasDeleted, HOM_Error) = 0;
00136 virtual void setAttribValue(
00137 const char *attrib_name, const char *attrib_value)
00138 throw(HOM_TypeError, HOM_OperationFailed, HOM_GeometryPermissionError,
00139 HOM_ObjectWasDeleted, HOM_Error) = 0;
00140
00141
00142
00143
00144 virtual void setAttribValue(
00145 const char *attrib_name, const std::vector<int> &attrib_value)
00146 throw(HOM_TypeError, HOM_OperationFailed, HOM_GeometryPermissionError,
00147 HOM_ObjectWasDeleted, HOM_Error) = 0;
00148 virtual void setAttribValue(
00149 const char *attrib_name, const std::vector<float> &attrib_value)
00150 throw(HOM_TypeError, HOM_OperationFailed, HOM_GeometryPermissionError,
00151 HOM_ObjectWasDeleted, HOM_Error) = 0;
00152
00153 #ifdef SWIG
00154 %extend
00155 {
00156 SWIGPYTHONOUT(%feature("autodoc",
00157 "attribValue(self, name) -> int, float, string or tuple")
00158 attribValue(const char *);)
00159 InterpreterObject attribValue(const char *name)
00160 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error)
00161 { return HOMattribValue(*self, name); }
00162
00163 SWIGPYTHONOUT(%feature("autodoc",
00164 "attribValue(self, attrib) -> int, float, string or tuple")
00165 attribValue(HOM_Attrib &);)
00166 InterpreterObject attribValue(HOM_Attrib &attrib)
00167 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error)
00168 { return HOMattribValue(*self, attrib); }
00169 }
00170 #endif
00171 };
00172
00173 #endif