11 #ifndef __GT_RefineParms__
12 #define __GT_RefineParms__
31 unsigned hash()
const;
39 {
return isEqual(src); }
41 {
return !isEqual(src); }
47 { myOptions.setOptionB(name, v); }
49 { myOptions.setOptionI(name, v); }
51 { myOptions.setOptionF(name, v); }
53 { myOptions.setOptionS(name, v); }
55 { myOptions.setOptionIArray(name, v); }
57 { myOptions.setOptionFArray(name, v); }
63 bool import(
const char *
name,
bool &
v)
const
64 {
return importOption(
name,
v); }
66 {
return importOption(
name,
v); }
68 {
return importOption(
name,
v); }
70 {
return importOption(
name,
v); }
72 {
return importOption(
name,
v); }
74 {
return importOption(
name,
v); }
76 {
return importOption(
name,
v); }
78 {
return importOption(
name,
v); }
80 {
return importOption(
name,
v); }
85 bool get(
const char *
name,
bool def)
const
88 return import(
name,
val) ? val : def;
93 return import(
name,
val) ? val : def;
98 return import(
name,
val) ? val : def;
100 const char *
get(
const char *
name,
const char *def,
111 const char *
name,
bool def)
113 return parms ? parms->
get(name, def) : def;
118 return parms ? parms->
get(name, def) : def;
123 return parms ? parms->
get(name, def) : def;
126 const char *
name,
const char *def,
130 ? parms->
get(name, def, storage)
139 #define GT_GETSET(METHOD, NAME, TYPE, DEF) \
140 void set##METHOD(TYPE v) { set(NAME, v); } \
141 TYPE get##METHOD() const { return get(NAME, (TYPE)DEF); } \
142 static TYPE get##METHOD(const GT_RefineParms *parms) \
143 { return parms ? parms->get(NAME,(TYPE)DEF) : (TYPE)DEF; }
146 #define GT_GETSET_STR(METHOD, NAME, DEF) \
147 void set##METHOD(const char *v) { set(NAME, v); } \
148 const char *get##METHOD(UT_String &storage) const \
149 { return get(NAME, DEF, storage); } \
150 static const char *get##METHOD(const GT_RefineParms *parms, \
151 UT_String &storage) \
152 { return parms ? parms->get(NAME,DEF,storage) : DEF; }
154 #define GT_GETSET_BIT(METHOD, MEMBER, DEF) \
155 void set##METHOD(bool v) { MEMBER = v; } \
156 bool get##METHOD() const { return MEMBER; } \
157 static bool get##METHOD(const GT_RefineParms *parms) \
158 { return parms ? parms->get##METHOD() : DEF; }
160 #define GT_GETSET_INT(METHOD, MEMBER, DEF) \
161 void set##METHOD(exint v) { MEMBER = v; } \
162 exint get##METHOD() const { return MEMBER; } \
163 static exint get##METHOD(const GT_RefineParms *parms) \
164 { return parms ? parms->get##METHOD() : DEF; }
167 GT_GETSET (GeoPointMesh,
"geo:pointmesh",
bool,
false)
170 GT_GETSET (ShowUnusedPoints, "geo:unusedpoints",
bool, true)
173 GT_GETSET (ShowAllPoints, "geo:allpoints",
bool, false)
176 GT_GETSET (GeoPolygonMesh, "geo:polygonmesh",
bool, true)
189 GT_GETSET (QuadricDivs, "quadricdivs", fpreal, 20.0)
193 GT_GETSET (MetaDensity, "metadensity", fpreal, 30.0)
196 GT_GETSET (URange0, "urange_min", fpreal, 0.0)
197 GT_GETSET (URange1, "urange_max", fpreal, 1.0)
198 GT_GETSET (VRange0, "vrange_min", fpreal, 0.0)
199 GT_GETSET (VRange1, "vrange_max", fpreal, 1.0)
207 GT_GETSET_INT(OverridePackedViewportLOD, myOverridePackedLOD, -1);
210 GT_GETSET (ViewportAgentMaxLOD, "agent:maxlod", exint, 4)
213 GT_GETSET (ViewportAgentPointLimit, "agent:pointlimit", exint, 1000)
216 GT_GETSET (RefineAgentsForViewport, "agent:refineviewport",
bool, false)
220 GT_GETSET (UseAgentCollisionLayer, "agent:collisionlayer",
bool, false)
226 GT_GETSET_BIT(ViewportAlembicFaceSets, myAlembicFaceSets, false)
227 GT_GETSET_BIT(ViewportAlembicArbGeometry, myAlembicArbGeo, true)
229 GT_GETSET_BIT(AlembicHoudiniAttribs, myAlembicHoudiniAttribs, true)
232 GT_GETSET_BIT(PointInstanceEnable, myPointInstanceEnable, false)
237 GT_GETSET_BIT(AlembicSkipInvisible, myAlembicSkipInvisible, true)
240 GT_GETSET (ConvertIncludeIds, "gconvert:include_ids",
bool, false)
243 GT_GETSET (ConvertParticlePrim, "gconvert:particleprim",
bool, false)
246 GT_GETSET (ConvertPack, "gconvert:pack",
bool, false)
248 GT_GETSET (AllowPolySoup, "gconvert:allow_polysoup",
bool, true)
261 GT_GETSET (CoalesceFragments, "coalescefragments",
bool, true);
266 GT_GETSET (CoalesceVolumes, "coalescevolumes",
bool, true);
283 GT_GETSET (FastPolyCompacting, "fastpolycompacting",
bool, true);
288 GT_GETSET (AddVertexNormals, "addvertexnormals",
bool, false);
300 GT_GETSET (MaxPolyMeshSize, "maxpolymeshsize", exint, -1)
306 GT_GETSET (SequenceSubsteps, "sequencesubsteps", exint, -1)
312 GT_GETSET (SeparateInstances, "separateinstance",
bool, false)
317 GT_GETSET (FullBezierSupport, "fullBezierSupport",
bool, true);
320 GT_GETSET (CubicBezierSupport, "cubicBezierSupport",
bool, true);
324 GT_GETSET (RefineCRegionsToCurves, "refinecregionstocurves",
bool, false)
332 GT_GETSET (HeightFieldConvert, "heightfieldconvert",
bool, false);
334 #undef GT_IMPLEMENT_GETSET
335 #undef GT_IMPLEMENT_GETSET_STR
338 {
return myViewportMaterialAttrib; }
340 {
return myViewportMaterialRemapAttrib; }
343 { myViewportMaterialAttrib = mh;
344 myViewportMaterialRemapAttrib = rh; }
347 { myAttribFilter = af; }
349 {
return myAttribFilter; }
364 static void *
operator new(
size_t size);
365 static void *
operator new(
size_t size,
void *
p);
366 static void operator delete(
void *
p,
size_t size);
370 template <
typename T>
bool
373 return myOptions.importOption(name, value);
377 int myAlembicArbGeo : 1,
378 myAlembicFaceSets : 1,
379 myAlembicHoudiniAttribs : 1,
380 myAlembicInstancing : 1,
381 myAlembicGLOptimize : 1,
382 myAlembicSkipInvisible : 1,
385 myAllowSubdivPolys : 1,
386 myPointInstanceEnable : 1,
387 myOverridePackedLOD : 5,
void set(const char *name, bool v)
void set(const char *name, fpreal v)
void setViewportMaterialAttrib(const GT_DataArrayHandle &mh, const GT_DataArrayHandle &rh)
static exint getInt(const GT_RefineParms *parms, const char *name, exint def)
#define GT_GETSET_BIT(METHOD, MEMBER, DEF)
static const char * getString(const GT_RefineParms *parms, const char *name, const char *def, UT_String &storage)
GT_DataArrayHandle getViewportMaterialRemapAttrib() const
#define GT_GETSET_INT(METHOD, MEMBER, DEF)
Class to filter attributes when building GT_AttributeLists.
#define GT_GETSET(METHOD, NAME, TYPE, DEF)
GLuint const GLchar * name
void set(const char *name, UT_Int64Array &v)
static fpreal getFloat(const GT_RefineParms *parms, const char *name, fpreal def)
#define GEO_DEFAULT_ADJUSTED_CUSP_ANGLE
bool operator!=(const GT_RefineParms &src) const
GT_DataArrayHandle getViewportMaterialAttrib() const
void set(const char *name, exint v)
void set(const char *name, const char *v)
#define GT_GETSET_STR(METHOD, NAME, DEF)
bool get(const char *name, bool def) const
void setAttributeFilter(const GT_GEOAttributeFilter *af)
GLenum GLuint GLenum GLsizei const GLchar * buf
const GT_GEOAttributeFilter * getAttributeFilter() const
A map of string to various well defined value types.
void set(const char *name, UT_Fpreal64Array &v)
static bool getBool(const GT_RefineParms *parms, const char *name, bool def)
GLsizei const GLfloat * value
getOption("OpenEXR.storage") storage
bool importOption(const char *name, T &value) const
bool operator==(const GT_RefineParms &src) const