HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_RefineParms Class Reference

#include <GT_RefineParms.h>

Public Types

enum  { FACESET_NONE = 0, FACESET_NON_EMPTY, FACESET_ALL_GROUPS }
 

Public Member Functions

 GT_RefineParms ()
 
 ~GT_RefineParms ()
 
unsigned hash () const
 Hash function. More...
 
bool isEqual (const GT_RefineParms &src) const
 Comparison test. More...
 
 GT_GETSET (CoalesceFragments,"coalescefragments", bool, true)
 The maximum number of LOD levels for agents. More...
 
 GT_GETSET (CoalesceVolumes,"coalescevolumes", bool, true)
 
 GT_GETSET (FastPolyCompacting,"fastpolycompacting", bool, true)
 
 GT_GETSET (AddVertexNormals,"addvertexnormals", bool, false)
 
 GT_GETSET (CuspAngle,"cuspangle", float, GEO_DEFAULT_ADJUSTED_CUSP_ANGLE)
 
 GT_GETSET (AddMikkT,"addmikkt", bool, false)
 Generate MikkT tangents on polymeshes (vertex attribs) More...
 
 GT_GETSET (FullBezierSupport,"fullBezierSupport", bool, true)
 
 GT_GETSET (CubicBezierSupport,"cubicBezierSupport", bool, true)
 
 GT_GETSET (HeightFieldConvert,"heightfieldconvert", bool, false)
 Prune geometry that is hidden. More...
 
 GT_GETSET (ForVulkan,"forvulkan", bool, false)
 The refinement is for a viewer vulkan renderer. More...
 
GT_DataArrayHandle getViewportMaterialAttrib () const
 
GT_DataArrayHandle getViewportMaterialRemapAttrib () const
 
void setViewportMaterialAttrib (const GT_DataArrayHandle &mh, const GT_DataArrayHandle &rh)
 
void setAttributeFilter (const GT_GEOAttributeFilter *af)
 
const GT_GEOAttributeFiltergetAttributeFilter () const
 
bool load (const UT_Options &opts)
 Load from UT_Options. More...
 
bool operator== (const GT_RefineParms &src) const
 
bool operator!= (const GT_RefineParms &src) const
 
void set (const UT_StringHolder &name, bool v)
 
void set (const UT_StringHolder &name, exint v)
 
void set (const UT_StringHolder &name, fpreal v)
 
void set (const UT_StringHolder &name, const char *v)
 
void set (const UT_StringHolder &name, UT_Int64Array &v)
 
void set (const UT_StringHolder &name, UT_Fpreal64Array &v)
 
bool import (const UT_StringRef &name, bool &v) const
 
bool import (const UT_StringRef &name, int32 &v) const
 
bool import (const UT_StringRef &name, int64 &v) const
 
bool import (const UT_StringRef &name, fpreal32 &v) const
 
bool import (const UT_StringRef &name, fpreal64 &v) const
 
bool import (const UT_StringRef &name, UT_String &v) const
 
bool import (const UT_StringRef &name, UT_StringHolder &v) const
 
bool import (const UT_StringRef &name, UT_Int64Array &v) const
 
bool import (const UT_StringRef &name, UT_Fpreal64Array &v) const
 
bool get (const UT_StringRef &name, bool def) const
 
exint get (const UT_StringRef &name, exint def) const
 
fpreal get (const UT_StringRef &name, fpreal def) const
 
const char * get (const UT_StringRef &name, const char *def, UT_String &storage) const
 
 GT_GETSET_INT (OverridePackedViewportLOD, myOverridePackedLOD,-1)
 Render a geometry as a point mesh. More...
 
void dump () const
 
bool dump (UT_WorkBuffer &buf) const
 

Static Public Member Functions

static bool getBool (const GT_RefineParms *parms, const UT_StringRef &name, bool def)
 
static exint getInt (const GT_RefineParms *parms, const UT_StringRef &name, exint def)
 
static fpreal getFloat (const GT_RefineParms *parms, const UT_StringRef &name, fpreal def)
 
static const char * getString (const GT_RefineParms *parms, const UT_StringRef &name, const char *def, UT_String &storage)
 
static voidoperator new (size_t size)
 
static voidoperator new (size_t size, void *p)
 
static void operator delete (void *p, size_t size)
 

Protected Member Functions

template<typename T >
bool importOption (const UT_StringRef &name, T &value) const
 

Detailed Description

Member Enumeration Documentation

anonymous enum
Enumerator
FACESET_NONE 
FACESET_NON_EMPTY 
FACESET_ALL_GROUPS 

Definition at line 278 of file GT_RefineParms.h.

Constructor & Destructor Documentation

GT_RefineParms::GT_RefineParms ( )
GT_RefineParms::~GT_RefineParms ( )

Member Function Documentation

void GT_RefineParms::dump ( ) const

Debugging methods to dump the non-default parameters. Dump to either stdout or a string buffer.

bool GT_RefineParms::dump ( UT_WorkBuffer buf) const

Debugging methods to dump the non-default parameters. Dump to either stdout or a string buffer.

bool GT_RefineParms::get ( const UT_StringRef name,
bool  def 
) const
inline

Get a defaulted value

Definition at line 85 of file GT_RefineParms.h.

exint GT_RefineParms::get ( const UT_StringRef name,
exint  def 
) const
inline

Get a defaulted value

Definition at line 90 of file GT_RefineParms.h.

fpreal GT_RefineParms::get ( const UT_StringRef name,
fpreal  def 
) const
inline

Get a defaulted value

Definition at line 95 of file GT_RefineParms.h.

const char* GT_RefineParms::get ( const UT_StringRef name,
const char *  def,
UT_String storage 
) const
inline

Get a defaulted value

Definition at line 100 of file GT_RefineParms.h.

const GT_GEOAttributeFilter* GT_RefineParms::getAttributeFilter ( ) const
inline

Definition at line 368 of file GT_RefineParms.h.

static bool GT_RefineParms::getBool ( const GT_RefineParms parms,
const UT_StringRef name,
bool  def 
)
inlinestatic

Static methods to get a defaulted parameter, with possibly a NULL parameter pointer.

Definition at line 110 of file GT_RefineParms.h.

static fpreal GT_RefineParms::getFloat ( const GT_RefineParms parms,
const UT_StringRef name,
fpreal  def 
)
inlinestatic

Static methods to get a defaulted parameter, with possibly a NULL parameter pointer.

Definition at line 120 of file GT_RefineParms.h.

static exint GT_RefineParms::getInt ( const GT_RefineParms parms,
const UT_StringRef name,
exint  def 
)
inlinestatic

Static methods to get a defaulted parameter, with possibly a NULL parameter pointer.

Definition at line 115 of file GT_RefineParms.h.

static const char* GT_RefineParms::getString ( const GT_RefineParms parms,
const UT_StringRef name,
const char *  def,
UT_String storage 
)
inlinestatic

Static methods to get a defaulted parameter, with possibly a NULL parameter pointer.

Definition at line 125 of file GT_RefineParms.h.

GT_DataArrayHandle GT_RefineParms::getViewportMaterialAttrib ( ) const
inline

Definition at line 357 of file GT_RefineParms.h.

GT_DataArrayHandle GT_RefineParms::getViewportMaterialRemapAttrib ( ) const
inline

Definition at line 359 of file GT_RefineParms.h.

GT_RefineParms::GT_GETSET ( CoalesceFragments  ,
"coalescefragments"  ,
bool  ,
true   
)

The maximum number of LOD levels for agents.

The minimum number of polygons for an LOD level; will halt the LOD. Whether to enable the viewport specific code when refining agents. Whether to refine the collision layer (if available) for agents instead of their current layer. Whether to enable GPU deformation for KineFX characters. When loading Alembic for the viewport, (i.e. when PackedViewportLOD is true), we check the following settings to determine whether to load face sets and arbitrary attributes. When unpacking Alembic, prune geometry that isn't visible. If this is false, empty geometry will be created. Whether to include primitive/vertex id's when converting to geo Convert point clouds into a particle primitive (instead of unconnected points). When converting from GT to GU, create packed geometry containing the converted GU details. Convert to Polygon Soup primitives if possible When converting from GU_Detail to GT primitives, create a subdivivision surface for polygons (instead of a GT_PrimPolygonMesh). Allow display of GT_PrimSubdivisionMeshes as subd surfaces. This won't create subd surfaces for regular polygons meshes like the above option. Whether to coalesce fragments into a single mesh. In most cases, the fragment geometry is constant over time, while only the transform changes. Some applications prefer getting a large chunk of geometry rather than lots of little pieces. Others prefer to use the fact that only the transform is animated.

GT_RefineParms::GT_GETSET ( CoalesceVolumes  ,
"coalescevolumes"  ,
bool  ,
true   
)

Whether to coalesce volumes into a single GT_Primitive. Mantra and probably most uses of GT require this to be true but at least HAPI likes to have volumes be kept as separate GT_Primitives.

GT_RefineParms::GT_GETSET ( FastPolyCompacting  ,
"fastpolycompacting"  ,
bool  ,
true   
)

When building polygon/curve meshes from geometry, optionally build a "face set" to store group information in the meshes. When collecting polygons, there are some simple/fast heuristics to check whether point attributes need to be compacted. However, this doesn't always catch cases if there are stray points (unconnected points) in the geometry. If you want precise polygonal meshes, you can disable fast detection.

GT_RefineParms::GT_GETSET ( AddVertexNormals  ,
"addvertexnormals"  ,
bool  ,
false   
)

When collecting polygons, if there are no point or vertex normals on the incoming geometry, this indicates whether to compute and add vertex normals to the GT_PrimPolygonMesh.

GT_RefineParms::GT_GETSET ( CuspAngle  ,
"cuspangle"  ,
float  ,
GEO_DEFAULT_ADJUSTED_CUSP_ANGLE   
)

When adding vertex normals, this is the cusp angle to use. If the dihedral angle of an edge is larger than this, it will be cusped.

GT_RefineParms::GT_GETSET ( AddMikkT  ,
"addmikkt"  ,
bool  ,
false   
)

Generate MikkT tangents on polymeshes (vertex attribs)

GT_RefineParms::GT_GETSET ( FullBezierSupport  ,
"fullBezierSupport"  ,
bool  ,
true   
)

Maximum number of points in a point mesh. This is used when refining a GEO_Detail. Maximum number of points in a polygon mesh. This is used when refining a GEO_Detail. Maximum number of points in a curve mesh. This is used when refining a GEO_Detail. Number of sub-frame timesteps used when unpacking sequence packed primitives. Each sub-step requires a blended detail. A value of -1 indicated no quantization, 0 will use only keyframe values, 1 will have one sub-frame (i.e. 0.5), etc. When creating instances during refining, rather than creating an instance with multiple transforms for the geometry, create separate instances, but still with a single shared GT_Primitive. This helps create aligned instances when trying to match segments for motion blur. When refining Houdini curves (NURBs/Bezier), generate Bezier curve meshes along with NURBS curve meshes where appropriate. Otherwise, only NURBS curves will be generated.

GT_RefineParms::GT_GETSET ( CubicBezierSupport  ,
"cubicBezierSupport"  ,
bool  ,
true   
)

If full Beziers aren't supported, still refine cubic Bezier curves to a pure Bezier curve mesh.

GT_RefineParms::GT_GETSET ( HeightFieldConvert  ,
"heightfieldconvert"  ,
bool  ,
false   
)

Prune geometry that is hidden.

Whether to refine capture regions to curves (e.g. as required by the viewport) or to polygons.After height field volumes are coalesced, refine them into GT_PrimPolygonMesh (or GT_PrimSubdivisionMesh if PolysAsSubdivision option is enabled) instead of GT_PrimVolume(s).

GT_RefineParms::GT_GETSET ( ForVulkan  ,
"forvulkan"  ,
bool  ,
false   
)

The refinement is for a viewer vulkan renderer.

GT_RefineParms::GT_GETSET_INT ( OverridePackedViewportLOD  ,
myOverridePackedLOD  ,
1 
)

Render a geometry as a point mesh.

Render dangling (unreferenced) points as a point mesh Render all points, even if not dangled. Requires unusedpoints already be set! Use polygon mesh primitives Refine only a specific group of primitives Global level of detail Parametric u level of detail Quadric parameters Metaball parameters Parametric u/v range Whether to respect the packed primitive viewport LOD. This is set for viewport rendering, but not for mantra. Override the viewport LOD for packed primitives. The value should be set to one of the enum values in $GEO/GEO_PackedTypes.h

unsigned GT_RefineParms::hash ( ) const

Hash function.

bool GT_RefineParms::import ( const UT_StringRef name,
bool &  v 
) const
inline

Import parameters/options.

Definition at line 63 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
int32 v 
) const
inline

Import parameters/options.

Definition at line 65 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
int64 v 
) const
inline

Import parameters/options.

Definition at line 67 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
fpreal32 v 
) const
inline

Import parameters/options.

Definition at line 69 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
fpreal64 v 
) const
inline

Import parameters/options.

Definition at line 71 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
UT_String v 
) const
inline

Import parameters/options.

Definition at line 73 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
UT_StringHolder v 
) const
inline

Import parameters/options.

Definition at line 75 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
UT_Int64Array v 
) const
inline

Import parameters/options.

Definition at line 77 of file GT_RefineParms.h.

bool GT_RefineParms::import ( const UT_StringRef name,
UT_Fpreal64Array v 
) const
inline

Import parameters/options.

Definition at line 79 of file GT_RefineParms.h.

template<typename T >
bool GT_RefineParms::importOption ( const UT_StringRef name,
T value 
) const
inlineprotected

Definition at line 391 of file GT_RefineParms.h.

bool GT_RefineParms::isEqual ( const GT_RefineParms src) const

Comparison test.

bool GT_RefineParms::load ( const UT_Options opts)

Load from UT_Options.

static void GT_RefineParms::operator delete ( void p,
size_t  size 
)
static

For memory tracking, we override the new/delete operators

static void* GT_RefineParms::operator new ( size_t  size)
static

For memory tracking, we override the new/delete operators

static void* GT_RefineParms::operator new ( size_t  size,
void p 
)
static

For memory tracking, we override the new/delete operators

bool GT_RefineParms::operator!= ( const GT_RefineParms src) const
inline

Equivalence operators

Definition at line 40 of file GT_RefineParms.h.

bool GT_RefineParms::operator== ( const GT_RefineParms src) const
inline

Equivalence operators

Definition at line 38 of file GT_RefineParms.h.

void GT_RefineParms::set ( const UT_StringHolder name,
bool  v 
)
inline

Import parameters/options.

Definition at line 46 of file GT_RefineParms.h.

void GT_RefineParms::set ( const UT_StringHolder name,
exint  v 
)
inline

Import parameters/options.

Definition at line 48 of file GT_RefineParms.h.

void GT_RefineParms::set ( const UT_StringHolder name,
fpreal  v 
)
inline

Import parameters/options.

Definition at line 50 of file GT_RefineParms.h.

void GT_RefineParms::set ( const UT_StringHolder name,
const char *  v 
)
inline

Import parameters/options.

Definition at line 52 of file GT_RefineParms.h.

void GT_RefineParms::set ( const UT_StringHolder name,
UT_Int64Array v 
)
inline

Import parameters/options.

Definition at line 54 of file GT_RefineParms.h.

void GT_RefineParms::set ( const UT_StringHolder name,
UT_Fpreal64Array v 
)
inline

Import parameters/options.

Definition at line 56 of file GT_RefineParms.h.

void GT_RefineParms::setAttributeFilter ( const GT_GEOAttributeFilter af)
inline

Definition at line 366 of file GT_RefineParms.h.

void GT_RefineParms::setViewportMaterialAttrib ( const GT_DataArrayHandle mh,
const GT_DataArrayHandle rh 
)
inline

Definition at line 361 of file GT_RefineParms.h.


The documentation for this class was generated from the following file: