11 #ifndef __GT_RefineParms__
12 #define __GT_RefineParms__
32 virtual unsigned hash()
const;
40 {
return isEqual(src); }
42 {
return !isEqual(src); }
48 { myOptions.setOptionB(name, v); }
50 { myOptions.setOptionI(name, v); }
52 { myOptions.setOptionF(name, v); }
54 { myOptions.setOptionS(name, v); }
56 { myOptions.setOptionIArray(name, v); }
58 { myOptions.setOptionFArray(name, v); }
64 bool import(
const char *
name,
bool &
v)
const
65 {
return importOption(
name,
v); }
67 {
return importOption(
name,
v); }
69 {
return importOption(
name,
v); }
71 {
return importOption(
name,
v); }
73 {
return importOption(
name,
v); }
75 {
return importOption(
name,
v); }
77 {
return importOption(
name,
v); }
79 {
return importOption(
name,
v); }
84 bool get(
const char *
name,
bool def)
const
87 return import(
name,
val) ? val : def;
92 return import(
name,
val) ? val : def;
97 return import(
name,
val) ? val : def;
99 const char *
get(
const char *
name,
const char *def,
110 const char *
name,
bool def)
112 return parms ? parms->
get(name, def) : def;
117 return parms ? parms->
get(name, def) : def;
122 return parms ? parms->
get(name, def) : def;
125 const char *
name,
const char *def,
129 ? parms->
get(name, def, storage)
138 #define GT_GETSET(METHOD, NAME, TYPE, DEF) \
139 void set##METHOD(TYPE v) { set(NAME, v); } \
140 TYPE get##METHOD() const { return get(NAME, (TYPE)DEF); } \
141 static TYPE get##METHOD(const GT_RefineParms *parms) \
142 { return parms ? parms->get(NAME,(TYPE)DEF) : (TYPE)DEF; }
145 #define GT_GETSET_STR(METHOD, NAME, DEF) \
146 void set##METHOD(const char *v) { set(NAME, v); } \
147 const char *get##METHOD(UT_String &storage) const \
148 { return get(NAME, DEF, storage); } \
149 static const char *get##METHOD(const GT_RefineParms *parms, \
150 UT_String &storage) \
151 { return parms ? parms->get(NAME,DEF,storage) : DEF; }
153 #define GT_GETSET_BIT(METHOD, MEMBER, DEF) \
154 void set##METHOD(bool v) { MEMBER = v; } \
155 bool get##METHOD() const { return MEMBER; } \
156 static bool get##METHOD(const GT_RefineParms *parms) \
157 { return parms ? parms->get##METHOD() : DEF; }
159 #define GT_GETSET_INT(METHOD, MEMBER, DEF) \
160 void set##METHOD(exint v) { MEMBER = v; } \
161 exint get##METHOD() const { return MEMBER; } \
162 static exint get##METHOD(const GT_RefineParms *parms) \
163 { return parms ? parms->get##METHOD() : DEF; }
166 GT_GETSET (GeoPointMesh,
"geo:pointmesh",
bool,
false)
169 GT_GETSET (ShowUnusedPoints, "geo:unusedpoints",
bool, true)
172 GT_GETSET (ShowAllPoints, "geo:allpoints",
bool, false)
175 GT_GETSET (GeoPolygonMesh, "geo:polygonmesh",
bool, true)
188 GT_GETSET (QuadricDivs, "quadricdivs", fpreal, 20.0)
192 GT_GETSET (MetaDensity, "metadensity", fpreal, 30.0)
195 GT_GETSET (URange0, "urange_min", fpreal, 0.0)
196 GT_GETSET (URange1, "urange_max", fpreal, 1.0)
197 GT_GETSET (VRange0, "vrange_min", fpreal, 0.0)
198 GT_GETSET (VRange1, "vrange_max", fpreal, 1.0)
206 GT_GETSET_INT(OverridePackedViewportLOD, myOverridePackedLOD, -1);
209 GT_GETSET (ViewportAgentMaxLOD, "agent:maxlod", exint, 4)
212 GT_GETSET (ViewportAgentPointLimit, "agent:pointlimit", exint, 1000)
215 GT_GETSET (RefineAgentsForViewport, "agent:refineviewport",
bool, false)
219 GT_GETSET (UseAgentCollisionLayer, "agent:collisionlayer",
bool, false)
225 GT_GETSET_BIT(ViewportAlembicFaceSets, myAlembicFaceSets, false)
226 GT_GETSET_BIT(ViewportAlembicArbGeometry, myAlembicArbGeo, true)
228 GT_GETSET_BIT(AlembicHoudiniAttribs, myAlembicHoudiniAttribs, true)
231 GT_GETSET_BIT(PointInstanceEnable, myPointInstanceEnable, false)
236 GT_GETSET_BIT(AlembicSkipInvisible, myAlembicSkipInvisible, true)
239 GT_GETSET (ConvertIncludeIds, "gconvert:include_ids",
bool, false)
242 GT_GETSET (ConvertParticlePrim, "gconvert:particleprim",
bool, false)
245 GT_GETSET (ConvertPack, "gconvert:pack",
bool, false)
247 GT_GETSET (AllowPolySoup, "gconvert:allow_polysoup",
bool, true)
260 GT_GETSET (CoalesceFragments, "coalescefragments",
bool, true);
265 GT_GETSET (CoalesceVolumes, "coalescevolumes",
bool, true);
282 GT_GETSET (FastPolyCompacting, "fastpolycompacting",
bool, true);
287 GT_GETSET (AddVertexNormals, "addvertexnormals",
bool, false);
299 GT_GETSET (MaxPolyMeshSize, "maxpolymeshsize", exint, -1)
305 GT_GETSET (SequenceSubsteps, "sequencesubsteps", exint, -1)
311 GT_GETSET (SeparateInstances, "separateinstance",
bool, false)
316 GT_GETSET (FullBezierSupport, "fullBezierSupport",
bool, true);
319 GT_GETSET (CubicBezierSupport, "cubicBezierSupport",
bool, true);
323 GT_GETSET (RefineCRegionsToCurves, "refinecregionstocurves",
bool, false)
331 GT_GETSET (HeightFieldConvert, "heightfieldconvert",
bool, false);
333 #undef GT_IMPLEMENT_GETSET
334 #undef GT_IMPLEMENT_GETSET_STR
337 {
return myViewportMaterialAttrib; }
339 {
return myViewportMaterialRemapAttrib; }
342 { myViewportMaterialAttrib = mh;
343 myViewportMaterialRemapAttrib = rh; }
346 { myAttribFilter = af; }
348 {
return myAttribFilter; }
363 static void *
operator new(
size_t size);
364 static void *
operator new(
size_t size,
void *
p);
365 static void operator delete(
void *
p,
size_t size);
369 template <
typename T>
bool
372 return myOptions.importOption(name, value);
376 int myAlembicArbGeo : 1,
377 myAlembicFaceSets : 1,
378 myAlembicHoudiniAttribs : 1,
379 myAlembicInstancing : 1,
380 myAlembicGLOptimize : 1,
381 myAlembicSkipInvisible : 1,
384 myAllowSubdivPolys : 1,
385 myPointInstanceEnable : 1,
386 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
GLuint const GLchar * name
#define GT_GETSET_INT(METHOD, MEMBER, DEF)
GLuint const GLfloat * val
Class to filter attributes when building GT_AttributeLists.
#define GT_GETSET(METHOD, NAME, TYPE, DEF)
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)
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)
getOption("OpenEXR.storage") storage
bool importOption(const char *name, T &value) const
GLenum GLuint GLsizei const GLchar * buf
GLsizei const GLfloat * value
bool operator==(const GT_RefineParms &src) const