10 #define __HOM_Prim_h__
53 virtual int number() = 0;
61 virtual HOM_IterableList<HOM_Vertex> *vertices() = 0;
63 virtual int numVertices() = 0;
66 virtual std::vector<HOM_ElemPtr<HOM_Edge> > edges() = 0;
68 virtual int numEdges() = 0;
70 virtual double floatAttribValue(
const char *
name) = 0;
72 virtual double floatAttribValue(
HOM_Attrib &attrib) = 0;
74 virtual std::vector<double> floatListAttribValue(
const char *
name) = 0;
76 virtual std::vector<double> floatListAttribValue(
HOM_Attrib &attrib) = 0;
78 virtual int64 intAttribValue(
const char *
name) = 0;
82 virtual std::vector<int64> intListAttribValue(
const char *
name) = 0;
84 virtual std::vector<int64> intListAttribValue(
HOM_Attrib &attrib) = 0;
90 virtual std::vector<std::string> stringListAttribValue(
const char *
name) = 0;
92 virtual std::vector<std::string> stringListAttribValue(
HOM_Attrib &attrib) = 0;
93 virtual std::map<std::string,hboost::any> dictAttribValue(
const char *
name) = 0;
94 virtual std::map<std::string,hboost::any> dictAttribValue(
HOM_Attrib &
name) = 0;
95 virtual std::vector<std::map<std::string,hboost::any> > dictListAttribValue(
const char *
name) = 0;
96 virtual std::vector<std::map<std::string,hboost::any> > dictListAttribValue(
HOM_Attrib &
name) = 0;
99 virtual void setAttribValue(
101 virtual void setAttribValue(
103 virtual void setAttribValue(
104 HOM_Attrib &attrib,
const char *attrib_value) = 0;
105 virtual void setAttribValue(
106 HOM_Attrib &attrib,
const std::vector<int64> &attrib_value) = 0;
107 virtual void setAttribValue(
108 HOM_Attrib &attrib,
const std::vector<double> &attrib_value) = 0;
109 virtual void setAttribValue(
110 HOM_Attrib &attrib,
const std::vector<std::string> &attrib_value) = 0;
111 virtual void setAttribValue(
112 HOM_Attrib &attrib,
const std::map<std::string, hboost::any> &attrib_value) = 0;
113 virtual void setAttribValue(
114 HOM_Attrib &attrib,
const std::vector<std::map<std::string,hboost::any> > &attrib_value) = 0;
116 virtual void setAttribValue(
117 const char *attrib_name,
int64 attrib_value) = 0;
118 virtual void setAttribValue(
119 const char *attrib_name,
double attrib_value) = 0;
120 virtual void setAttribValue(
121 const char *attrib_name,
const char *attrib_value) = 0;
129 virtual void setAttribValue(
130 const char *attrib_name,
const std::vector<int64> &attrib_value) = 0;
131 virtual void setAttribValue(
132 const char *attrib_name,
const std::vector<double> &attrib_value) = 0;
133 virtual void setAttribValue(
134 const char *attrib_name,
135 const std::vector<std::string> &attrib_value) = 0;
136 virtual void setAttribValue(
137 const char *attrib_name,
138 const std::map<std::string, hboost::any> &attrib_value) = 0;
139 virtual void setAttribValue(
140 const char *attrib_name,
141 const std::vector<std::map<std::string,hboost::any> > &attrib_value) = 0;
144 virtual std::vector<std::string> intrinsicNames() = 0;
147 const char *intrinsic_name) = 0;
148 virtual size_t intrinsicSize(
const char *intrinsic_name) = 0;
149 virtual bool intrinsicReadOnly(
const char *intrinsic_name) = 0;
151 virtual void setIntrinsicValue(
const char *intrinsic_name,
double value) = 0;
152 virtual void setIntrinsicValue(
const char *intrinsic_name,
int value) = 0;
153 virtual void setIntrinsicValue(
const char *intrinsic_name,
int64 value) = 0;
154 virtual void setIntrinsicValue(
155 const char *intrinsic_name,
const char *
value) = 0;
156 virtual void setIntrinsicValue(
157 const char *intrinsic_name,
const std::vector<double> &
value) = 0;
158 virtual void setIntrinsicValue(
159 const char *intrinsic_name,
const std::vector<int> &
value) = 0;
160 virtual void setIntrinsicValue(
161 const char *intrinsic_name,
const std::vector<int64> &
value) = 0;
162 virtual void setIntrinsicValue(
163 const char *intrinsic_name,
const std::vector<std::string> &
value) = 0;
168 InterpreterObject attribValue(
const char *
name)
169 {
return HOMattribValue(*
self, name); }
171 InterpreterObject attribValue(
HOM_Attrib &attrib)
172 {
return HOMattribValue(*
self, attrib); }
176 SWIGOUT(%newobject positionAtInterior;)
177 virtual HOM_Vector3 *positionAtInterior(
double u,
double v,
double w = 0.0) = 0;
181 const char *
name,
double u,
double v,
double w) = 0;
187 SWIGOUT(%newobject _nearestPointOnPrimToPosition;)
188 virtual HOM_Point *_nearestPointOnPrimToPosition(
194 InterpreterObject attribValueAtInterior(
195 const char *
name,
double u,
double v,
double w = 0.0)
197 return HOMboostAnyToInterpreterObject(
198 self->boostAnyAttribValueAtInterior(name, u, v,
w));
201 InterpreterObject attribValueAtInterior(
202 HOM_Attrib &attrib,
double u,
double v,
double w = 0.0)
204 return HOMboostAnyToInterpreterObject(
205 self->boostAnyAttribValueAtInterior(attrib, u, v,
w));
213 const std::vector<double> &
position) = 0;
215 virtual std::vector< HOM_ElemPtr<HOM_PrimGroup> > groups() = 0;
219 virtual double primuConvert(
double u,
int mode) = 0;
220 virtual double primuConvert(
double u,
int mode,
double tol) =0;
222 virtual void _attribInfo(
const char *name,
int &attr_data_type,
int &attr_size,
bool &is_array_type) = 0;
#define HOM_DESTRUCT_OBJECT(pointer)
GA_API const UT_StringHolder uv
GLsizei const GLchar *const * string
string __repr__(VtArray< T > const &self)
std::tuple< Types...> UT_Tuple
bool any(const vbool4 &v)
void ignore(T const &) VULKAN_HPP_NOEXCEPT
#define HOM_CONSTRUCT_OBJECT(pointer)
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
GLuint const GLchar * name
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
SIM_API const UT_StringHolder position
GLubyte GLubyte GLubyte GLubyte w
HOM_Prim(const HOM_Prim &)
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.