GU_Detail Class Reference

#include <GU_Detail.h>

Inheritance diagram for GU_Detail:

GEO_Detail GB_Detail GOP_Guide

List of all members.

Public Types

enum  OnlyConsGroupPropagateType { ONLYCONS_GRP_PROP_LEAST = 0, ONLYCONS_GRP_PROP_UNION, ONLYCONS_GRP_PROP_INTERSECT }
enum  SnapAttributesType { SNAP_ATTRIBUTES_AVERAGE = 0, SNAP_ATTRIBUTES_INDEX }

Public Member Functions

 GU_Detail ()
 GU_Detail (GU_Detail *src, GB_PrimitiveGroup *primGroup)
 GU_Detail (const GU_Detail *src)
virtual ~GU_Detail ()
virtual void clearAndDestroy ()
 Clear all the points/primitives out of this detail.
void duplicate (const GU_Detail &gdp, int doselection=0)
int cached (void) const
void cached (int onoff=1)
int cacheable (void) const
void cacheOn (void)
void cacheOff (void)
void destroyCache (void)
void notifyCache (int type)
void notifyCache (int type, const GEO_Point &ppt)
void notifyCache (int type, const GB_PointGroup &grp)
void setTriMeshCache (GU_TriMeshCache *cache)
GU_TriMeshCachegetTriMeshCache () const
void notifyMetaSurfCache (int type)
void notifyMetaSurfCache (int type, const GEO_Point &ppt)
void notifyMetaSurfCache (int type, const GB_PointGroup &)
int buildMetaSurfCache (GU_MetaSurfCacheParms &parms)
GU_MetaSurfCachegetMetaSurfCache () const
void incrementCacheables ()
void decrementCacheables ()
int getNumCacheables () const
void incrementMetaCacheCount ()
int getMetaCacheCount () const
int metaCacheEnable () const
void metaCacheEnable (int onoff)
void findBoundaryPoints (UT_IntArray &isboundary, bool checkuv)
void findSelectionBoundaryPoints (const UT_IntArray &pointselection, UT_IntArray &isboundary)
void buildRingZeroPoints (UT_PtrArray< UT_PtrArray< GEO_Point * > * > &ringzero, UT_IntArray *ringvalence) const
void buildRingZeroPoints (const GB_PointGroup *ptgroup, UT_PtrArray< UT_PtrArray< GEO_Point * > * > &ringzero, UT_IntArray *ringvalence) const
void buildRingZeroPrimitives (UT_PtrArray< UT_IntArray * > &ringzero) const
GU_PrimPolycube (float xmin=-1, float xmax=1, float ymin=-1, float ymax=1, float zmin=-1, float zmax=1, int xdiv=0, int ydiv=0, int zdiv=0, int enforcementBars=0, int doConsolidatePoints=0)
GU_PrimNURBSurfnurbCube (int xdiv, int ydiv, int zdiv, int orderx=4, int ordery=4, int orderz=4, float xmin=-0.5F, float xmax=0.5F, float ymin=-0.5F, float ymax=0.5F, float zmin=-0.5F, float zmax=0.5F, GEO_SurfaceType type=GEO_PATCH_QUADS, bool consolidate=false)
GU_PrimRBezSurfbezCube (int xdiv, int ydiv, int zdiv, int orderx=4, int ordery=4, int orderz=4, float xmin=-0.5F, float xmax=0.5F, float ymin=-0.5F, float ymax=0.5F, float zmin=-0.5F, float zmax=0.5F, GEO_SurfaceType type=GEO_PATCH_QUADS, bool consolidate=false)
GU_PrimMeshmeshCube (int xdiv, int ydiv, int zdiv, float xmin=-0.5F, float xmax=0.5F, float ymin=-0.5F, float ymax=0.5F, float zmin=-0.5F, float zmax=0.5F, GEO_SurfaceType type=GEO_PATCH_QUADS, bool consolidate=false)
GU_PrimPolypolymeshCube (int xdiv, int ydiv, int zdiv, float xmin=-0.5F, float xmax=0.5F, float ymin=-0.5F, float ymax=0.5F, float zmin=-0.5F, float zmax=0.5F, GEO_SurfaceType type=GEO_PATCH_QUADS, bool consolidate=false)
GEO_PrimitivebuildGrid (GU_GridParms &parms, GU_GridType type=GU_GRID_MESH)
GU_PrimPolypolyGrid (int rows, int cols, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS)
GU_PrimMeshmeshGrid (int rows, int cols, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS, int wrapu=0, int wrapv=0)
GU_PrimNURBSurfnurbGrid (int rows, int cols, int orderu=4, int orderv=4, int interpEndsU=1, int interpEndsV=1, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS, int wrapu=0, int wrapv=0)
GU_PrimRBezSurfbezGrid (int rows, int cols, int orderu=4, int orderv=4, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS, int wrapu=0, int wrapv=0)
void torus (unsigned type, GU_TorusParms &parms)
GU_PrimPolypolyIsoSurface (float(*ptOutside)(const UT_Vector3 &), const UT_BoundingBox &bbox, int xdiv, int ydiv, int zdiv)
void buildMetaSurface (GU_Detail *src, float lod, GB_PrimitiveGroup *primGroup=0)
void buildMetaSurface (GU_Detail *src, int divx, int divy, int divz, GB_PrimitiveGroup *primGroup=0)
void buildMetaXsection (GU_Detail *src, int nsections, int axis=2, int maxdepth=4, GB_PrimitiveGroup *primGroup=0)
void orient (const GB_PrimitiveGroup *group=0)
 orient all the polygonal faces to have the same winding direction
void extrude (GU_ExtrudeParms &parms)
 inset and extrude a face
void blend (const GU_Detail *source, float weight, bool doPos, bool doClr, bool doNml, bool doTxt, bool doVoxels, const char *ptidattr, const char *primidattr)
 create a weighted sum of two source inputs
int blend (const GU_Detail *gdps[], const float weights[], int size, bool doPos, bool doClr, bool doNml, bool doTxt, bool doVoxels, const char *ptidattr, const char *primidattr, const GB_PointGroup *ptGroup)
void creep (GU_CreepParms &parms)
 Transform points to follow surface of path input.
int consolidatePoints (float distance, const GB_PointGroup *ptGrp=0, int forceConsAll=0, int mark=0)
int fastConsolidatePoints (float distance, const GB_PointGroup *ptGrp=0, int mark=0)
int onlyConsolidatePoints (float distance, const GB_PointGroup *ptgrp=0, int mark=0, bool deleteconsolidated=false, OnlyConsGroupPropagateType grouppropagate=ONLYCONS_GRP_PROP_LEAST)
int consolidateNormals (float distance, const GB_PointGroup *ptGrp=0, int forceConsAll=0)
int fastConsolidateNormals (float distance, const GB_PointGroup *ptGrp=0)
int fastConsolidatePointUVs (float distance, const GB_PointGroup &ptGrp, const GU_MetricType metric, int method, UT_Vector3 &uvw)
int fastConsolidateVertexUVs (float distance, const GB_VertexGroup &vtxGrp, const GU_MetricType metric, int method, UT_Vector3 &uvw)
int snapPoints (int type, float distance, const GB_PointGroup *ptgrp=0, bool snapptpos=true, bool snapptattribs=false, UT_PtrArray< GEO_AttributeHandle * > *ptattribhandles=0)
void snapPointAttributes (const UT_PtrArray< GEO_Point * > &snaplist, const UT_PtrArray< GEO_AttributeHandle * > &attribhandles, SnapAttributesType type, int snapindex=0)
void snapGrid (int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GB_PointGroup *ptGrp=0)
void snapGridPointUVs (int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GB_PointGroup *ptGrp=0)
void snapGridVertexUVs (int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GB_VertexGroup *vtxGrp=0)
int buildHoles (float dist=0.001F, float angle=0.2F, int snapFace=0, const GB_PrimitiveGroup *primGroup=0)
void unHole (const GB_PrimitiveGroup *primGroup=0)
 Remove bridged holes from other than polygons.
void uniquePoints (const GB_Group *group=0, int useMark=0)
void uniquePrimitive (GEO_Primitive *prim)
int cleanData (const GB_PrimitiveGroup *primGrp=0, int removeRepPoints=0, float tol=0.001F, bool deletePoints=false)
int getDirtyData (GB_PrimitiveGroup *returnGrp, const GB_PrimitiveGroup *primGrp=0, int checkRepPoints=0, float tol=0.001F)
virtual GB_AttributeRef normal (int internal=0, GB_PrimitiveGroup *primgroup=0)
virtual void normal (UT_Vector3Array &output, bool use_internaln=true) const
void applyTexture (GU_TextureType type, GU_AxisType axis, const GB_PrimitiveGroup *primGroup=0, int applyToVertex=-1, int fixPolySeams=0, const GU_CameraParms *userData=0)
void scaleTexture (float umult=1, float uoff=0, float vmult=1, float voff=0, float wmult=1, float woff=0, const GB_PrimitiveGroup *primGroup=0)
void rotateTexture (float angle, const GB_PrimitiveGroup *primGroup=0)
void transformPointTexture (const UT_Matrix4 &mat, const GB_PointGroup *ptGroup, GEO_Delta *geodelta=0)
 Methods for transforming point and vertex texture attributes:.
void computeSoftTransformPointTextureCache (GEO_SoftTransformPointCache &cache, const GB_PointGroup *ptgroup, const GEO_Rolloff &rolloff, const GU_MetricType metric)
void softTransformPointTexture (const UT_XformOrder &order, float tx, float ty, float tz, float rx, float ry, float rz, float sx, float sy, float sz, float s_xy, float s_xz, float s_yz, float px, float py, float pz, const GEO_SoftTransformPointCache &cache, const GEO_Rolloff &rolloff, GEO_Delta *geodelta=0)
void transformVertexTexture (const UT_Matrix4 &mat, const GB_VertexGroup *vertexGroup, GEO_Delta *geodelta=0)
void computeSoftTransformVertexTextureCache (GEO_SoftTransformVertexCache &cache, const GB_VertexGroup *vtxgroup, const GEO_Rolloff &rolloff, const GU_MetricType metric, bool ignore_uv_connectivity)
void softTransformVertexTexture (const UT_XformOrder &order, float tx, float ty, float tz, float rx, float ry, float rz, float sx, float sy, float sz, float s_xy, float s_xz, float s_yz, float px, float py, float pz, const GEO_SoftTransformVertexCache &cache, const GEO_Rolloff &rolloff, GEO_Delta *geodelta=0)
void reversePolys (const GB_PrimitiveGroup *prmGrp=0)
 Reverse polygons.
void convertMetaballs (GU_MetaConvertParms &parms, const GB_PrimitiveGroup *prim_grp=NULL)
void sortPoints (UT_PtrArray< GB_Element * > &array, GU_AxisType axis=GU_XAXIS)
void sortVertices (UT_PtrArray< GEO_Vertex * > &array, GU_AxisType axis=GU_XAXIS)
void sortPrims (UT_PtrArray< GB_Element * > &array, GU_AxisType axis=GU_XAXIS)
void sortPointList (GU_AxisType axis)
void sortPrimitiveList (GU_AxisType axis)
void sortPoints (UT_PtrArray< GB_Element * > &array, const UT_Vector3 &o, const UT_Vector3 &d)
void sortPrims (UT_PtrArray< GB_Element * > &array, const UT_Vector3 &o, const UT_Vector3 &d)
void sortPointList (const UT_Vector3 &o, const UT_Vector3 &d)
void sortPrimitiveList (const UT_Vector3 &o, const UT_Vector3 &d)
void sortPoints (UT_PtrArray< GB_Element * > &array, int seed)
void sortPrims (UT_PtrArray< GB_Element * > &array, int seed)
void sortPointList (int seed)
void sortPrimitiveList (int seed)
void sortElements (UT_PtrArray< GB_Element * > &array, float *order)
void sortPointList (float *order)
void sortPrimitiveList (float *order)
void shift (int uoffset, int voffset, GB_PrimitiveGroup *group=0)
void shiftPoints (UT_PtrArray< GB_Element * > &, int offset)
void shiftPrims (UT_PtrArray< GB_Element * > &, int offset)
void shiftPointList (int aoffset)
void shiftPrimitiveList (int aoffset)
void reverse (GB_PrimitiveGroup *group=0)
void reversePoints (UT_PtrArray< GB_Element * > &array)
void reversePrims (UT_PtrArray< GB_Element * > &array)
void reversePointList ()
void reversePrimitiveList ()
void proximityPoints (UT_PtrArray< GB_Element * > &array, const UT_Vector3 &point)
void proximityPrims (UT_PtrArray< GB_Element * > &array, const UT_Vector3 &point)
void proximityToPointList (const UT_Vector3 &point)
void proximityToPrimitiveList (const UT_Vector3 &point)
void vertexOrder (UT_PtrArray< GB_Element * > &array)
void sortByVertexOrder ()
void superEllipsoid (const GU_SuperQuadParms &parms)
unsigned isPolyConvex (GB_PrimitiveGroup *primGroup=0) const
void convexPoly (GU_PrimPoly *pp, unsigned maxpts=3, const GU_Detail *restgdp=0)
void convex (unsigned maxpts=3, GB_PrimitiveGroup *primGroup=0, const GU_Detail *restgdp=0)
int findNonPlanar (GB_PrimitiveGroup *group, float tol=0.0001F, GB_PrimitiveGroup *primGroup=0)
void clip (UT_Vector3 &normal, float d=0, int normlize=0, const GB_PrimitiveGroup *primGroup=0)
void crease (UT_Vector3 &normal, float d=0, int normlize=0, int outputGroups=0, GB_PrimitiveGroup *above=0, GB_PrimitiveGroup *below=0, const GB_PrimitiveGroup *creaseGroup=0)
void fractalize (int seed=1, float roughness=0.6F, float scaleby=1, int divs=1, int fixedBoundry=1, int useVtxNorms=0, float nx=0, float ny=0, float nz=1, const GB_PrimitiveGroup *fractalGroup=0)
int nonLinearDeform (GU_DeformType type, const GU_TwistParms &parms, int &pasted)
GEO_Hulloffset (const GU_OffsetParms &parms)
GEO_Hullgordon (GEO_SurfaceType surftype, int accurate, const GB_PrimitiveGroup &ufaces, const GB_PrimitiveGroup &vfaces, int reparameterize=0)
GEO_Hullgordon (GEO_SurfaceType surftype, int accurate, const UT_PtrArray< GEO_Primitive * > &uprims_in, const UT_PtrArray< GEO_Primitive * > &vprims_in, GU_SkinCache &skin_cache, int reparameterize=0)
GEO_Hullcoons (GEO_SurfaceType surftype, const GEO_Face &uface1, const GEO_Face &vface1, const GEO_Face *uface2=0, const GEO_Face *vface2=0)
GEO_Hullskin (GU_SkinParms &parms, GU_SkinCache &skin_cache)
GEO_Hullskin (const GB_PrimitiveGroup &ucfaces, GEO_SurfaceType surftype=GEO_PATCH_QUADS, unsigned vorder=0, int vwrap=0, int doskin=1, int nprims=-1, const UT_Vector *vParmValues=0)
GEO_Hullskin (const UT_PtrArray< GEO_Primitive * > &prims_in, GU_SkinCache &skin_cache, GEO_SurfaceType surftype=GEO_PATCH_QUADS, unsigned vorder=0, int vwrap=0, int doskin=1, int nprims=-1, const UT_Vector *vParmValues=0)
int ruled (GEO_Hull *&surface, const GU_RuledParms &p, const GU_CapOptions &caps)
int curveNetwork (GEO_Hull *&hull, GU_CurveNetworkParms &p, int &count, GU_SkinCache &skin_cache)
GU_ERROR sweep (GU_SweepParms parms)
void rails (GU_RailParms parms)
GEO_Primitivejoin (GU_JoinParms &p, int &count)
GEO_HullfilletTrims (GU_TrimFilletParms &parms, int &count)
GEO_HullfilletRound (GU_RoundFilletParms &parms)
void filletRoundNetwork (UT_RefMatrix< void * >, GU_RoundFilletParms &parms)
void joint (const GU_JointParms &p)
int fillet (GU_FilletParms &parms, int &count)
int loft (GU_LoftParms &p, const GB_PointGroup &g1, const GB_PointGroup &g2)
int loft (GU_LoftParms &p, const GB_PrimitiveGroup *group=0)
int revolve (const GU_RevolveParms &parms, const GU_CapOptions &caps, int &count)
int warp (GU_WarpParms &parms)
GU_ERROR curveClay (const GU_CurveClayParms &ccparm)
int endCap (GEO_Hull &hull, const GU_CapParms &parms)
int endCap (GEO_Face &face, const GU_CapParms &parms)
int setCaps (GEO_Hull &hull, const GU_CapOptions &parms, int &count)
int setCaps (GEO_Face &face, const GU_CapOptions &parms, int &count)
int lattice (const GU_Detail *source, const GU_Detail *rest, const GU_Detail *deform, int xdiv, int ydiv, int zdiv, const GB_PointGroup *ptgroup=0, UT_BitArray *deform_history=NULL, GU_LatticeType type=GU_LATTICE_BEZIER)
int magnet (const GU_MagnetParms &parms)
float trace (GU_TraceParms *parms)
void applyTraceTexture (float xres, float yres, float resolution)
void fit2DCurve (const GU_Detail *source, float error_squared, GB_PrimitiveGroup *primGroup=0)
GU_CurveinterpCurveBreakpoints (const GEO_Face &face, unsigned type=GEOPRIMNURBCURVE, int order=4, GB_ParmType parmType=GB_PARM_CHORD)
GU_CurveinterpCurveBreakpoints (const UT_PtrArray< GEO_Point * > &gpData, unsigned type=GEOPRIMNURBCURVE, int order=4, int wrapped=0, GB_ParmType parmType=GB_PARM_CHORD)
GU_CurveinterpCurveBreakpoints (const UT_Vector4Array &v4Data, unsigned type=GEOPRIMNURBCURVE, int order=4, int wrapped=0, GB_ParmType parmType=GB_PARM_CHORD)
GU_CurveinterpCurveGlobal (const GEO_Face &face, unsigned type=GEOPRIMNURBCURVE, int order=4, GB_ParmType parmType=GB_PARM_CHORD, GB_KnotSpaceType knotSpaceType=GB_KNOT_AVERAGING)
GU_CurveinterpCurveGlobal (const UT_PtrArray< GEO_Point * > &gpData, unsigned type=GEOPRIMNURBCURVE, int order=4, int wrapped=0, GB_ParmType parmType=GB_PARM_CHORD, GB_KnotSpaceType knotSpaceType=GB_KNOT_AVERAGING)
GU_CurveinterpCurveGlobal (const UT_Vector4Array &v4Data, unsigned type=GEOPRIMNURBCURVE, int order=4, int wrapped=0, GB_ParmType parmType=GB_PARM_CHORD, GB_KnotSpaceType knotSpaceType=GB_KNOT_AVERAGING)
GU_CurveinterpCurveLocal (const GEO_Face &face, unsigned type=GEOPRIMBEZCURVE, int order=4, int corner=0)
GU_CurveinterpCurveLocal (const UT_PtrArray< GEO_Point * > &gpData, unsigned type=GEOPRIMBEZCURVE, int order=4, int wrapped=0, int corner=0)
GU_CurveinterpCurveLocal (const UT_Vector4Array &v4Data, unsigned type=GEOPRIMBEZCURVE, int order=4, int wrapped=0, int corner=0)
GU_TPSurfinterpSurfGlobal (const GEO_Hull &mesh, unsigned type=GEOPRIMNURBSURF, int uOrder=4, int vOrder=4, GEO_SurfaceType sType=GEO_PATCH_QUADS, GB_ParmType uParmType=GB_PARM_CHORD, GB_ParmType vParmType=GB_PARM_CHORD, GB_KnotSpaceType uKnotSpaceType=GB_KNOT_AVERAGING, GB_KnotSpaceType vKnotSpaceType=GB_KNOT_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
GU_TPSurfinterpSurfGlobal (const UT_PtrMatrix< GEO_Point * > &gpMesh, unsigned type=GEOPRIMNURBSURF, int uOrder=4, int vOrder=4, int uWrapped=0, int vWrapped=0, GEO_SurfaceType sType=GEO_PATCH_QUADS, GB_ParmType uParmType=GB_PARM_CHORD, GB_ParmType vParmType=GB_PARM_CHORD, GB_KnotSpaceType uKnotSpaceType=GB_KNOT_AVERAGING, GB_KnotSpaceType vKnotSpaceType=GB_KNOT_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
GU_TPSurfinterpSurfBreakpoints (const GEO_Hull &mesh, unsigned type=GEOPRIMNURBSURF, int uOrder=4, int vOrder=4, GEO_SurfaceType sType=GEO_PATCH_QUADS, GB_ParmType uParmType=GB_PARM_CHORD, GB_ParmType vParmType=GB_PARM_CHORD, GB_KnotSpaceType uKnotSpaceType=GB_KNOT_AVERAGING, GB_KnotSpaceType vKnotSpaceType=GB_KNOT_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
GU_TPSurfinterpSurfBreakpoints (const UT_PtrMatrix< GEO_Point * > &gpMesh, unsigned type=GEOPRIMNURBSURF, int uOrder=4, int vOrder=4, int uWrapped=0, int vWrapped=0, GEO_SurfaceType sType=GEO_PATCH_QUADS, GB_ParmType uParmType=GB_PARM_CHORD, GB_ParmType vParmType=GB_PARM_CHORD, GB_KnotSpaceType uKnotSpaceType=GB_KNOT_AVERAGING, GB_KnotSpaceType vKnotSpaceType=GB_KNOT_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
GU_CurveapproxCurveGlobal (const GEO_Face &face, unsigned type=GEOPRIMNURBCURVE, int order=4, float tol=1e-1F, float smooth=0.0F, int noMultipleKnots=1)
GU_CurveapproxCurveGlobal (const UT_Vector4Array &v4Data, unsigned type=GEOPRIMNURBCURVE, int order=4, int wrapped=0, float tol=1e-1F, float smooth=0.0F, int noMultipleKnots=1)
GU_TPSurfapproxSurfGlobal (const GEO_Hull &mesh, unsigned type=GEOPRIMNURBSURF, int uOrder=4, int vOrder=4, GEO_SurfaceType sType=GEO_PATCH_QUADS, float tol=1e-1F, float smooth=0.0F, int uNoMultipleKnots=1, int vNoMultipleKnots=1)
GU_TPSurfapproxSurfGlobal (const UT_PtrMatrix< GEO_Point * > &gpMesh, unsigned type=GEOPRIMNURBSURF, int uOrder=4, int vOrder=4, int uWrapped=0, int vWrapped=0, GEO_SurfaceType sType=GEO_PATCH_QUADS, float tol=1e-1F, float smooth=0.0F, int uNoMultipleKnots=1, int vNoMultipleKnots=1)
void refine (float *uunit, int ulen, float *vunit, int vlen, int countu=1, int countv=1, int arcspacing=0, const GB_PrimitiveGroup *primGroup=0)
void unrefine (float umin, float umax, float vmin, float vmax, int countu=1, int countv=1, float utol=0.001F, float vtol=0.001F, const GB_PrimitiveGroup *primGroup=0)
void subdivide (float *uunit, int ulen, float *vunit, int vlen, int arcspacing=0, const GB_PrimitiveGroup *primGroup=0)
int extract (float *uunit, int ulen, float *vunit, int vlen, const GB_PrimitiveGroup *primGroup=0, GB_PointGroup *newPoints=0, int op=0, int keepOriginal=0, int atbreakpoints=0, int use_arc_length=0)
void extractIsoParms (float *uunit, int ulen, float *vunit, int vlen, GB_PrimitiveGroup *newPrims=0, const GB_PrimitiveGroup *primGroup=0)
void extractPoints (float *uunit, int ulen, float *vunit, int vlen, GB_PointGroup *newPoints=0, const GB_PrimitiveGroup *primGroup=0)
void extractProfiles (float *uunit, int ulen, float *vunit, int vlen, const GB_PrimitiveGroup *primGroup=0)
void extractIsoParmsAtBreak (float *uunit, int ulen, float *vunit, int vlen, GB_PrimitiveGroup *newPrims=0, const GB_PrimitiveGroup *primGroup=0)
void extractPointsAtBreak (float *uunit, int ulen, float *vunit, int vlen, GB_PointGroup *newPoints=0, const GB_PrimitiveGroup *primGroup=0)
void extractProfilesAtBreak (float *uunit, int ulen, float *vunit, int vlen, const GB_PrimitiveGroup *primGroup=0)
int cut (float *uunit, int ulen, float *vunit, int vlen, const GB_PrimitiveGroup *primGroup=0, int keepin=1, int keepout=0, int atbreakpoints=0, int allU=0, int allV=0, int use_arc_length=0)
void polySpline (GU_PolysplineParms &parms, const GB_PrimitiveGroup *primGroup=0, bool deleteAll=true)
int polyPatch (GU_PolypatchParms &parms, const GB_PrimitiveGroup *primGroup=0)
int polyReduce (GU_PolyReduceParms &parms, const GB_PrimitiveGroup *primGroup=0, int *pointIndexTable=0)
int triStrip (GU_TriStripParms &parms)
void lsystem (GU_LSystemParms &lp)
int info (ostream &os, int maxlines=15, int64 overridememusage=-1) const
int64 getMemoryUsage (void) const
GEO_PrimitiveintersectRay (const UT_Vector3 &o, const UT_Vector3 &d, float tmax=1E17F, float tol=1E-12F, float *dist=0, UT_Vector3 *pos=0, UT_Vector3 *nml=0, int accurate=0, float *u=0, float *v=0, int ignoretrim=1) const
int commonFaceConfig (const GB_PrimitiveGroup &faceGroup, unsigned &type, int &order, int &open, int &ends) const
int commonFaceConfig (const UT_PtrArray< GEO_Primitive * > &faces_in, unsigned &type, int &order, int &open, int &ends) const
int commonSurfaceConfig (const GB_PrimitiveGroup &surfs, unsigned &type, int &orderu, int &orderv, int &openu, int &openv, int &endsu, int &endsv) const
int makeFacesCompatible (const GB_PrimitiveGroup &infaces, GB_PrimitiveGroup &outfaces, int mustopen=0, int mustends=0, int nonrational=0, unsigned *extratype=0, int equalcvs=1)
int makeFacesCompatible (const UT_PtrArray< GEO_Primitive * > &prims_in, UT_PtrArray< GEO_Primitive * > &prims_out, int mustopen=0, int mustends=0, int nonrational=0, unsigned *extratype=0, int equalcvs=1)
int makeFacesCompatible (const GB_PrimitiveGroup &infacesU, const GB_PrimitiveGroup &infacesV, GB_PrimitiveGroup &outfacesU, GB_PrimitiveGroup &outfacesV, int mustopen=0, int mustends=0, int nonrational=0, unsigned *extratype=0, int equalcvs=1)
int makeFacesCompatible (const UT_PtrArray< GEO_Primitive * > &ufaces_array, const UT_PtrArray< GEO_Primitive * > &vfaces_array, UT_PtrArray< GEO_Primitive * > &ucfaces_array, UT_PtrArray< GEO_Primitive * > &vcfaces_array, int mustopen=0, int mustends=0, int nonrational=0, unsigned *extratype=0, int equalcvs=1)
virtual int save (const char *, int binary, const UT_Options *options) const
 Stream I/O METHODS.
virtual int save (ostream &os, int binary, const UT_Options *options) const
virtual int load (const char *, const UT_Options *options)
virtual bool load (UT_IStream &is, const UT_Options *options)
void align (GU_AlignParms &parms)
int stitch (GU_StitchParms &parms)
int arm (GU_ArmParms &parms, GU_ArmAngles &ret_angles)
void limb (GU_LimbParms &parms, GU_LimbAngles &ret_angles)
int makeSurfacesCompatible (const GB_PrimitiveGroup &insurfs, GB_PrimitiveGroup &outsurfs, int mustopenu=0, int mustopenv=0, int mustendsu=0, int mustendsv=0, int equalcvsu=1, int equalcvsv=1, unsigned *extratype=0)
GB_PrimitiveGroupgetPastedSurfaces (const char *n="__gu_all_pasted__")
GB_PrimitiveGroupgetPastedSurfaces (GB_PrimitiveGroup *&used, const char *n="__gu_all_pasted__", const char *u="__gu_used_pasted__")
void updatePastedDisplacement (const GEO_Point &ppt, const GB_PrimitiveGroup *all, GB_PrimitiveGroup *used)
int updatePastedDisplacements (void)
int updatePastedDependents (GB_PrimitiveGroup *all, GB_PrimitiveGroup *used)
GU_ERROR error () const
void addMessage (GU_ErrorCodes code, const char *msg=0) const
void addWarning (GU_ErrorCodes code, const char *msg=0) const
void addError (GU_ErrorCodes code, const char *msg=0) const
void selection (GU_Selection *s)
GU_Selectionselection (void) const
void destroySelection ()
GU_SelectionListgetOrCreateSelectionList (int &instance)
const GU_SelectionListgetSelectionList (int instance) const
int getNumSelectionListInstances () const
void destroySelectionLists ()
void copySelectionLists (const GU_Detail &src_gdp)
void addSelectionToTemp (const GU_Detail &src_gdp, const GU_Selection &src_sel, int &sel_inst, int sel_index, bool dirty_gdp=true)
void dirtySelectionTopologyData ()
void SYS_DEPRECATED preserveGroups (const GEO_Primitive *oldprim, const GEO_Primitive *newprim)
 Deprecated in favour of GEO_Primitive::copyGroupMembership().
void SYS_DEPRECATED preservePrimitiveGroups (const GEO_Primitive *oldprim, const GEO_Primitive *newprim)
 Deprecated in favour of GEO_Primitive::copyGroupMembership().
void removeInlinePoints (float tol, const GB_PrimitiveGroup *prims)
void getRBDParams (GU_OldOBBTree &tree, UT_Matrix3 &ibody, UT_Matrix3 &ibodyinv, int samples, float lod) const
int removeZeroAreaFaces (GB_PrimitiveGroup *grpp, int ignoreOpenFaces=0, float tolerance=0.001F, int onlyPolys=1)
int removeZeroAreaFaces (const UT_IntArray &primlist, int ignoreOpenFaces=0, float tolerance=0.001F, int onlyPolys=1)
void deleteGroupGeometry (GB_BaseGroup &group)
void deleteEdges (GB_EdgeGroup &edgegroup, bool del_inline_points, float inlinetol, bool del_unused_points=true, bool del_bridges=true)
void flipEdges (GB_EdgeGroup &edgegroup, int rotations=1, bool rotattribs=false, GB_EdgeGroup *outedges=0)
void edgeSplit (const GU_SplitLocPtrArray &splitlocs, bool quadcut=false, bool forcecut=true, GB_EdgeGroup *outedges=0, float tolerance=FP32_TOLERANCE)
void divideEdges (GB_EdgeGroup &edgegroup, int numdivs=1, bool applytoall=true, bool use_shared_points=false, GB_EdgeGroup *outedges=0, UT_PtrArray< GEO_Point * > *new_points=0, GEO_PointRefArray *prefarr=0, bool preserve_edge_dir=false)
void divideEdges (GB_EdgeGroup &edgegroup, int numdivs, bool applytoall, bool use_shared_points, GB_EdgeGroup *outedges, UT_PtrArray< GEO_Point * > *new_points, GEO_PointRefArray *prefarr, bool preserve_edge_dir, float fraction)
void transformBreakpoints (const UT_Matrix4 &mat, const GB_BreakpointGroup *grp=0, int quickxform=0)
void smoothNonPolygons (int iterations, GU_WeightingType type, float lambda, float mu, const GB_PrimitiveGroup *primgrp, bool useptattribs, const GB_AttributeRef &attriboffset, int attribsize)
void polyExtrude (const GU_PolyExtrudeParms &parms)
void edgeCollapse (const GB_EdgeGroup &edgegroup, bool removedegen=true, bool updatenmls=true, GB_PointGroup *outpoints=0)
void edgeCrease (const GU_EdgeCreaseParms &parms)
void pointInset (const GB_PointGroup *ptgroup, float insetdist, float nmldist)
void getOBBox (const GB_PrimitiveGroup *grp, UT_Matrix4 &transform, UT_Vector3 &radii) const
int makePrimsPlanar (const GB_PrimitiveGroup *grp=0)
void setSeamPointAttributes (const GB_PointGroup &group_a, const GB_PointGroup &group_b)
int getNumClothSeams () const
void getClothSeamAttribName (UT_WorkBuffer &attrib_name, int seam_number, int seam_half) const
GB_AttributeRef getClothSeamAttribOffset (int seam_number, int seam_half) const
void appendSeamPoints (UT_RefArray< GU_ClothStitchPair > &seam_points, int seam_number) const
void matchClothSeams (const GU_ClothMatchSeamsParms &parms)
void convert (GU_ConvertParms &parms)
void convertNew (GU_ConvertParms &parms)

Static Public Member Functions

static int loftHulls (GEO_Hull *left, GEO_Hull *right, float lwidth1, float lwidth2, float rwidth1, float rwidth2, int sharp, int &lstart, int &rstart, int &lmax, int &rmax, int loftU, GB_NUBBasis *nubbasis)
static int getSubdividedCV (GEO_Hull *hull, int udir, float unit)
static int getSubdividedCV (GEO_Face *face, float unit)
static void registerIOTranslator (GEO_IOTranslator *trans)
static void unregisterIOTranslator (GEO_IOTranslator *trans)
static bool isFormatSupported (const char *filename)
 Returns true if filename is a recognized extension.
static void loadIODSOs ()

Protected Member Functions

GEO_PrimitivenewPrimitive (unsigned type)


Detailed Description

Examples:

GR/GR_BaryCenter.C, GR/GR_BoundingBox.C, GR/GR_SimpleNoise.C, POP/POP_CircleForce.C, POP/POP_CircleForce.h, SIM/SIM_ForceOrbit.C, SIM/SIM_SolverHair.C, SIM/SNOW_Solver.C, SIM/SNOW_Solver.h, SOP/MSS_CustomBrushState.h, SOP/SOP_BrushHairLen.C, SOP/SOP_BrushHairLen.h, SOP/SOP_CustomBrush.C, SOP/SOP_Flatten.C, SOP/SOP_HDKObject.C, SOP/SOP_PrimVOP.C, SOP/SOP_SParticle.C, SOP/SOP_SParticle.h, SOP/SOP_Surface.C, SOP/SOP_TimeCompare.C, standalone/gengeovolume.C, standalone/geo2voxel.C, standalone/geoisosurface.C, VRAY/VRAY_DemoBox.C, VRAY/VRAY_DemoFile.C, VRAY/VRAY_DemoMountain.C, VRAY/VRAY_DemoSprite.C, VRAY/VRAY_DemoSprite.h, and VRAY/VRAY_DemoStamp.C.

Definition at line 152 of file GU_Detail.h.


Member Enumeration Documentation

Enumerator:
ONLYCONS_GRP_PROP_LEAST 
ONLYCONS_GRP_PROP_UNION 
ONLYCONS_GRP_PROP_INTERSECT 

Definition at line 412 of file GU_Detail.h.

Enumerator:
SNAP_ATTRIBUTES_AVERAGE 
SNAP_ATTRIBUTES_INDEX 

Definition at line 482 of file GU_Detail.h.


Constructor & Destructor Documentation

GU_Detail::GU_Detail (  )  [inline]

Definition at line 155 of file GU_Detail.h.

GU_Detail::GU_Detail ( GU_Detail src,
GB_PrimitiveGroup primGroup 
) [inline, explicit]

Definition at line 164 of file GU_Detail.h.

GU_Detail::GU_Detail ( const GU_Detail src  )  [inline, explicit]

Definition at line 175 of file GU_Detail.h.

virtual GU_Detail::~GU_Detail (  )  [virtual]


Member Function Documentation

void GU_Detail::addError ( GU_ErrorCodes  code,
const char *  msg = 0 
) const [inline]

Definition at line 1357 of file GU_Detail.h.

void GU_Detail::addMessage ( GU_ErrorCodes  code,
const char *  msg = 0 
) const [inline]

Definition at line 1347 of file GU_Detail.h.

void GU_Detail::addSelectionToTemp ( const GU_Detail src_gdp,
const GU_Selection src_sel,
int &  sel_inst,
int  sel_index,
bool  dirty_gdp = true 
)

void GU_Detail::addWarning ( GU_ErrorCodes  code,
const char *  msg = 0 
) const [inline]

Definition at line 1352 of file GU_Detail.h.

void GU_Detail::align ( GU_AlignParms parms  ) 

void GU_Detail::appendSeamPoints ( UT_RefArray< GU_ClothStitchPair > &  seam_points,
int  seam_number 
) const

void GU_Detail::applyTexture ( GU_TextureType  type,
GU_AxisType  axis,
const GB_PrimitiveGroup primGroup = 0,
int  applyToVertex = -1,
int  fixPolySeams = 0,
const GU_CameraParms userData = 0 
)

If the applyToVertex is less than 0, the "natural" place will be use, otherwise 0 = point attrib, 1 = vertex attrib

void GU_Detail::applyTraceTexture ( float  xres,
float  yres,
float  resolution 
)

GU_Curve* GU_Detail::approxCurveGlobal ( const UT_Vector4Array v4Data,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
int  wrapped = 0,
float  tol = 1e-1F,
float  smooth = 0.0F,
int  noMultipleKnots = 1 
)

GU_Curve* GU_Detail::approxCurveGlobal ( const GEO_Face face,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
float  tol = 1e-1F,
float  smooth = 0.0F,
int  noMultipleKnots = 1 
)

GU_TPSurf* GU_Detail::approxSurfGlobal ( const UT_PtrMatrix< GEO_Point * > &  gpMesh,
unsigned  type = GEOPRIMNURBSURF,
int  uOrder = 4,
int  vOrder = 4,
int  uWrapped = 0,
int  vWrapped = 0,
GEO_SurfaceType  sType = GEO_PATCH_QUADS,
float  tol = 1e-1F,
float  smooth = 0.0F,
int  uNoMultipleKnots = 1,
int  vNoMultipleKnots = 1 
)

GU_TPSurf* GU_Detail::approxSurfGlobal ( const GEO_Hull mesh,
unsigned  type = GEOPRIMNURBSURF,
int  uOrder = 4,
int  vOrder = 4,
GEO_SurfaceType  sType = GEO_PATCH_QUADS,
float  tol = 1e-1F,
float  smooth = 0.0F,
int  uNoMultipleKnots = 1,
int  vNoMultipleKnots = 1 
)

int GU_Detail::arm ( GU_ArmParms parms,
GU_ArmAngles ret_angles 
)

GU_PrimRBezSurf* GU_Detail::bezCube ( int  xdiv,
int  ydiv,
int  zdiv,
int  orderx = 4,
int  ordery = 4,
int  orderz = 4,
float  xmin = -0.5F,
float  xmax = 0.5F,
float  ymin = -0.5F,
float  ymax = 0.5F,
float  zmin = -0.5F,
float  zmax = 0.5F,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
bool  consolidate = false 
)

GU_PrimRBezSurf* GU_Detail::bezGrid ( int  rows,
int  cols,
int  orderu = 4,
int  orderv = 4,
float  xsize = 1,
float  ysize = 1,
float  xc = 0,
float  yc = 0,
float  zc = 0,
GU_OrientationType  = GU_PLANE_XY,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
int  wrapu = 0,
int  wrapv = 0 
)

int GU_Detail::blend ( const GU_Detail gdps[],
const float  weights[],
int  size,
bool  doPos,
bool  doClr,
bool  doNml,
bool  doTxt,
bool  doVoxels,
const char *  ptidattr,
const char *  primidattr,
const GB_PointGroup ptGroup 
)

create a weighted sum of size source inputs Return 1 if at least one pasted surface was involved in the blend, else 0.

void GU_Detail::blend ( const GU_Detail source,
float  weight,
bool  doPos,
bool  doClr,
bool  doNml,
bool  doTxt,
bool  doVoxels,
const char *  ptidattr,
const char *  primidattr 
)

create a weighted sum of two source inputs

GEO_Primitive* GU_Detail::buildGrid ( GU_GridParms parms,
GU_GridType  type = GU_GRID_MESH 
)

int GU_Detail::buildHoles ( float  dist = 0.001F,
float  angle = 0.2F,
int  snapFace = 0,
const GB_PrimitiveGroup primGroup = 0 
)

Build holes in the geometry by bridging the holes to their outlines The angle should be specified as the angle (in degrees) between the normals.

void GU_Detail::buildMetaSurface ( GU_Detail src,
int  divx,
int  divy,
int  divz,
GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::buildMetaSurface ( GU_Detail src,
float  lod,
GB_PrimitiveGroup primGroup = 0 
)

When building a meta-surface, the new surface is built in this gdp. If desired, src can be "this" as well...

int GU_Detail::buildMetaSurfCache ( GU_MetaSurfCacheParms parms  ) 

void GU_Detail::buildMetaXsection ( GU_Detail src,
int  nsections,
int  axis = 2,
int  maxdepth = 4,
GB_PrimitiveGroup primGroup = 0 
)

A faster way of conversion is to build cross sections. However, this doesn't build real surfaces

void GU_Detail::buildRingZeroPoints ( const GB_PointGroup ptgroup,
UT_PtrArray< UT_PtrArray< GEO_Point * > * > &  ringzero,
UT_IntArray ringvalence 
) const

void GU_Detail::buildRingZeroPoints ( UT_PtrArray< UT_PtrArray< GEO_Point * > * > &  ringzero,
UT_IntArray ringvalence 
) const

void GU_Detail::buildRingZeroPrimitives ( UT_PtrArray< UT_IntArray * > &  ringzero  )  const

int GU_Detail::cacheable ( void   )  const [inline]

Definition at line 198 of file GU_Detail.h.

void GU_Detail::cached ( int  onoff = 1  )  [inline]

Definition at line 197 of file GU_Detail.h.

int GU_Detail::cached ( void   )  const [inline]

Definition at line 196 of file GU_Detail.h.

void GU_Detail::cacheOff ( void   )  [inline]

Definition at line 200 of file GU_Detail.h.

void GU_Detail::cacheOn ( void   )  [inline]

Definition at line 199 of file GU_Detail.h.

int GU_Detail::cleanData ( const GB_PrimitiveGroup primGrp = 0,
int  removeRepPoints = 0,
float  tol = 0.001F,
bool  deletePoints = false 
)

Remove repeated references of vertices in the faces, then remove all degenerate primitives regardless of their type. Set removeRepPoints flag to remove the repeat points as well and the deletePoints flag to delete the points that were part of the degenerate primitive.

virtual void GU_Detail::clearAndDestroy (  )  [virtual]

Clear all the points/primitives out of this detail.

Reimplemented from GEO_Detail.

Examples:
SOP/SOP_CopRaster.C, SOP/SOP_NURBS.C, SOP/SOP_SParticle.C, and SOP/SOP_Star.C.

void GU_Detail::clip ( UT_Vector3 normal,
float  d = 0,
int  normlize = 0,
const GB_PrimitiveGroup primGroup = 0 
)

int GU_Detail::commonFaceConfig ( const UT_PtrArray< GEO_Primitive * > &  faces_in,
unsigned &  type,
int &  order,
int &  open,
int &  ends 
) const

int GU_Detail::commonFaceConfig ( const GB_PrimitiveGroup faceGroup,
unsigned &  type,
int &  order,
int &  open,
int &  ends 
) const

int GU_Detail::commonSurfaceConfig ( const GB_PrimitiveGroup surfs,
unsigned &  type,
int &  orderu,
int &  orderv,
int &  openu,
int &  openv,
int &  endsu,
int &  endsv 
) const

void GU_Detail::computeSoftTransformPointTextureCache ( GEO_SoftTransformPointCache cache,
const GB_PointGroup ptgroup,
const GEO_Rolloff rolloff,
const GU_MetricType  metric 
)

Precompute a list of points to soft transform, along with the distance (squared) to the closest "hard" point. The metric specifies how distance is measured in space.

void GU_Detail::computeSoftTransformVertexTextureCache ( GEO_SoftTransformVertexCache cache,
const GB_VertexGroup vtxgroup,
const GEO_Rolloff rolloff,
const GU_MetricType  metric,
bool  ignore_uv_connectivity 
)

int GU_Detail::consolidateNormals ( float  distance,
const GB_PointGroup ptGrp = 0,
int  forceConsAll = 0 
)

int GU_Detail::consolidatePoints ( float  distance,
const GB_PointGroup ptGrp = 0,
int  forceConsAll = 0,
int  mark = 0 
)

Consolidate points within a specified distance (returns num done) If a point group is specified, then, only points in that group are consolidated. If the forceConsAll flag is set then all points will be consolidated in a greedy fashion using a branch and bound algorithm.

void GU_Detail::convert ( GU_ConvertParms parms  ) 

Conversion Routines - to convert from one primitive to another

void GU_Detail::convertMetaballs ( GU_MetaConvertParms parms,
const GB_PrimitiveGroup prim_grp = NULL 
)

This routine only converts metaballs using a more comprehensive set of parameters.

void GU_Detail::convertNew ( GU_ConvertParms parms  ) 

Conversion Routines - to convert from one primitive to another

void GU_Detail::convex ( unsigned  maxpts = 3,
GB_PrimitiveGroup primGroup = 0,
const GU_Detail restgdp = 0 
)

void GU_Detail::convexPoly ( GU_PrimPoly pp,
unsigned  maxpts = 3,
const GU_Detail restgdp = 0 
)

GEO_Hull* GU_Detail::coons ( GEO_SurfaceType  surftype,
const GEO_Face uface1,
const GEO_Face vface1,
const GEO_Face uface2 = 0,
const GEO_Face vface2 = 0 
)

void GU_Detail::copySelectionLists ( const GU_Detail src_gdp  ) 

void GU_Detail::crease ( UT_Vector3 normal,
float  d = 0,
int  normlize = 0,
int  outputGroups = 0,
GB_PrimitiveGroup above = 0,
GB_PrimitiveGroup below = 0,
const GB_PrimitiveGroup creaseGroup = 0 
)

void GU_Detail::creep ( GU_CreepParms parms  ) 

Transform points to follow surface of path input.

GU_PrimPoly* GU_Detail::cube ( float  xmin = -1,
float  xmax = 1,
float  ymin = -1,
float  ymax = 1,
float  zmin = -1,
float  zmax = 1,
int  xdiv = 0,
int  ydiv = 0,
int  zdiv = 0,
int  enforcementBars = 0,
int  doConsolidatePoints = 0 
)

GU_ERROR GU_Detail::curveClay ( const GU_CurveClayParms ccparm  ) 

int GU_Detail::curveNetwork ( GEO_Hull *&  hull,
GU_CurveNetworkParms p,
int &  count,
GU_SkinCache skin_cache 
)

int GU_Detail::cut ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
const GB_PrimitiveGroup primGroup = 0,
int  keepin = 1,
int  keepout = 0,
int  atbreakpoints = 0,
int  allU = 0,
int  allV = 0,
int  use_arc_length = 0 
)

void GU_Detail::decrementCacheables (  )  [inline]

Definition at line 220 of file GU_Detail.h.

void GU_Detail::deleteEdges ( GB_EdgeGroup edgegroup,
bool  del_inline_points,
float  inlinetol,
bool  del_unused_points = true,
bool  del_bridges = true 
)

void GU_Detail::deleteGroupGeometry ( GB_BaseGroup group  ) 

void GU_Detail::destroyCache ( void   ) 

void GU_Detail::destroySelection (  ) 

void GU_Detail::destroySelectionLists (  ) 

void GU_Detail::dirtySelectionTopologyData (  ) 

void GU_Detail::divideEdges ( GB_EdgeGroup edgegroup,
int  numdivs,
bool  applytoall,
bool  use_shared_points,
GB_EdgeGroup outedges,
UT_PtrArray< GEO_Point * > *  new_points,
GEO_PointRefArray prefarr,
bool  preserve_edge_dir,
float  fraction 
)

void GU_Detail::divideEdges ( GB_EdgeGroup edgegroup,
int  numdivs = 1,
bool  applytoall = true,
bool  use_shared_points = false,
GB_EdgeGroup outedges = 0,
UT_PtrArray< GEO_Point * > *  new_points = 0,
GEO_PointRefArray prefarr = 0,
bool  preserve_edge_dir = false 
)

void GU_Detail::duplicate ( const GU_Detail gdp,
int  doselection = 0 
)

void GU_Detail::edgeCollapse ( const GB_EdgeGroup edgegroup,
bool  removedegen = true,
bool  updatenmls = true,
GB_PointGroup outpoints = 0 
)

void GU_Detail::edgeCrease ( const GU_EdgeCreaseParms parms  ) 

void GU_Detail::edgeSplit ( const GU_SplitLocPtrArray splitlocs,
bool  quadcut = false,
bool  forcecut = true,
GB_EdgeGroup outedges = 0,
float  tolerance = FP32_TOLERANCE 
)

int GU_Detail::endCap ( GEO_Face face,
const GU_CapParms parms 
)

int GU_Detail::endCap ( GEO_Hull hull,
const GU_CapParms parms 
)

GU_ERROR GU_Detail::error (  )  const [inline]

Definition at line 1342 of file GU_Detail.h.

int GU_Detail::extract ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
const GB_PrimitiveGroup primGroup = 0,
GB_PointGroup newPoints = 0,
int  op = 0,
int  keepOriginal = 0,
int  atbreakpoints = 0,
int  use_arc_length = 0 
)

void GU_Detail::extractIsoParms ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
GB_PrimitiveGroup newPrims = 0,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::extractIsoParmsAtBreak ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
GB_PrimitiveGroup newPrims = 0,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::extractPoints ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
GB_PointGroup newPoints = 0,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::extractPointsAtBreak ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
GB_PointGroup newPoints = 0,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::extractProfiles ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::extractProfilesAtBreak ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::extrude ( GU_ExtrudeParms parms  ) 

inset and extrude a face

int GU_Detail::fastConsolidateNormals ( float  distance,
const GB_PointGroup ptGrp = 0 
)

int GU_Detail::fastConsolidatePoints ( float  distance,
const GB_PointGroup ptGrp = 0,
int  mark = 0 
)

Performs fast consolidation by calling onlyConsolidatePoints. By default, calls removeUnused when done to remove any unused points When deleteConsOnly is set, then only consolidated points are removed.

int GU_Detail::fastConsolidatePointUVs ( float  distance,
const GB_PointGroup ptGrp,
const GU_MetricType  metric,
int  method,
UT_Vector3 uvw 
)

Consolidate UV attributes within a specified distance. This distance can be in UV space or XYZ space. There are various methods of placing the consolidated UVs.

metric: 0 => UV space 1 => XYZ space

method: 0 => Average 1 => First in Group 2 => Specify uvw coordinate

int GU_Detail::fastConsolidateVertexUVs ( float  distance,
const GB_VertexGroup vtxGrp,
const GU_MetricType  metric,
int  method,
UT_Vector3 uvw 
)

int GU_Detail::fillet ( GU_FilletParms parms,
int &  count 
)

GEO_Hull* GU_Detail::filletRound ( GU_RoundFilletParms parms  ) 

void GU_Detail::filletRoundNetwork ( UT_RefMatrix< void * >  ,
GU_RoundFilletParms parms 
)

GEO_Hull* GU_Detail::filletTrims ( GU_TrimFilletParms parms,
int &  count 
)

void GU_Detail::findBoundaryPoints ( UT_IntArray isboundary,
bool  checkuv 
)

int GU_Detail::findNonPlanar ( GB_PrimitiveGroup group,
float  tol = 0.0001F,
GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::findSelectionBoundaryPoints ( const UT_IntArray pointselection,
UT_IntArray isboundary 
)

void GU_Detail::fit2DCurve ( const GU_Detail source,
float  error_squared,
GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::flipEdges ( GB_EdgeGroup edgegroup,
int  rotations = 1,
bool  rotattribs = false,
GB_EdgeGroup outedges = 0 
)

void GU_Detail::fractalize ( int  seed = 1,
float  roughness = 0.6F,
float  scaleby = 1,
int  divs = 1,
int  fixedBoundry = 1,
int  useVtxNorms = 0,
float  nx = 0,
float  ny = 0,
float  nz = 1,
const GB_PrimitiveGroup fractalGroup = 0 
)

void GU_Detail::getClothSeamAttribName ( UT_WorkBuffer attrib_name,
int  seam_number,
int  seam_half 
) const

GB_AttributeRef GU_Detail::getClothSeamAttribOffset ( int  seam_number,
int  seam_half 
) const

int GU_Detail::getDirtyData ( GB_PrimitiveGroup returnGrp,
const GB_PrimitiveGroup primGrp = 0,
int  checkRepPoints = 0,
float  tol = 0.001F 
)

Identify dirty data, which is the degenerate primitives that would be deleted by cleanData. Return them in the returnGrp, and return the number of dirty primitives. If returnGrp is NULL then only return the count.

int64 GU_Detail::getMemoryUsage ( void   )  const

Examples:
SIM/SNOW_Solver.C.

int GU_Detail::getMetaCacheCount (  )  const [inline]

Definition at line 224 of file GU_Detail.h.

GU_MetaSurfCache* GU_Detail::getMetaSurfCache (  )  const [inline]

Definition at line 217 of file GU_Detail.h.

int GU_Detail::getNumCacheables (  )  const [inline]

Definition at line 221 of file GU_Detail.h.

int GU_Detail::getNumClothSeams (  )  const

int GU_Detail::getNumSelectionListInstances (  )  const

void GU_Detail::getOBBox ( const GB_PrimitiveGroup grp,
UT_Matrix4 transform,
UT_Vector3 radii 
) const

GU_SelectionList& GU_Detail::getOrCreateSelectionList ( int &  instance  ) 

GB_PrimitiveGroup* GU_Detail::getPastedSurfaces ( GB_PrimitiveGroup *&  used,
const char *  n = "__gu_all_pasted__",
const char *  u = "__gu_used_pasted__" 
)

GB_PrimitiveGroup* GU_Detail::getPastedSurfaces ( const char *  n = "__gu_all_pasted__"  ) 

void GU_Detail::getRBDParams ( GU_OldOBBTree tree,
UT_Matrix3 ibody,
UT_Matrix3 ibodyinv,
int  samples,
float  lod 
) const

const GU_SelectionList& GU_Detail::getSelectionList ( int  instance  )  const

static int GU_Detail::getSubdividedCV ( GEO_Face face,
float  unit 
) [static]

static int GU_Detail::getSubdividedCV ( GEO_Hull hull,
int  udir,
float  unit 
) [static]

GU_TriMeshCache* GU_Detail::getTriMeshCache (  )  const [inline]

Definition at line 209 of file GU_Detail.h.

GEO_Hull* GU_Detail::gordon ( GEO_SurfaceType  surftype,
int  accurate,
const UT_PtrArray< GEO_Primitive * > &  uprims_in,
const UT_PtrArray< GEO_Primitive * > &  vprims_in,
GU_SkinCache skin_cache,
int  reparameterize = 0 
)

GEO_Hull* GU_Detail::gordon ( GEO_SurfaceType  surftype,
int  accurate,
const GB_PrimitiveGroup ufaces,
const GB_PrimitiveGroup vfaces,
int  reparameterize = 0 
)

void GU_Detail::incrementCacheables (  )  [inline]

Definition at line 219 of file GU_Detail.h.

void GU_Detail::incrementMetaCacheCount (  )  [inline]

Definition at line 223 of file GU_Detail.h.

int GU_Detail::info ( ostream &  os,
int  maxlines = 15,
int64  overridememusage = -1 
) const

GU_Curve* GU_Detail::interpCurveBreakpoints ( const UT_Vector4Array v4Data,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
int  wrapped = 0,
GB_ParmType  parmType = GB_PARM_CHORD 
)

GU_Curve* GU_Detail::interpCurveBreakpoints ( const UT_PtrArray< GEO_Point * > &  gpData,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
int  wrapped = 0,
GB_ParmType  parmType = GB_PARM_CHORD 
)

GU_Curve* GU_Detail::interpCurveBreakpoints ( const GEO_Face face,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
GB_ParmType  parmType = GB_PARM_CHORD 
)

GU_Curve* GU_Detail::interpCurveGlobal ( const UT_Vector4Array v4Data,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
int  wrapped = 0,
GB_ParmType  parmType = GB_PARM_CHORD,
GB_KnotSpaceType  knotSpaceType = GB_KNOT_AVERAGING 
)

GU_Curve* GU_Detail::interpCurveGlobal ( const UT_PtrArray< GEO_Point * > &  gpData,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
int  wrapped = 0,
GB_ParmType  parmType = GB_PARM_CHORD,
GB_KnotSpaceType  knotSpaceType = GB_KNOT_AVERAGING 
)

GU_Curve* GU_Detail::interpCurveGlobal ( const GEO_Face face,
unsigned  type = GEOPRIMNURBCURVE,
int  order = 4,
GB_ParmType  parmType = GB_PARM_CHORD,
GB_KnotSpaceType  knotSpaceType = GB_KNOT_AVERAGING 
)

GU_Curve* GU_Detail::interpCurveLocal ( const UT_Vector4Array v4Data,
unsigned  type = GEOPRIMBEZCURVE,
int  order = 4,
int  wrapped = 0,
int  corner = 0 
)

GU_Curve* GU_Detail::interpCurveLocal ( const UT_PtrArray< GEO_Point * > &  gpData,
unsigned  type = GEOPRIMBEZCURVE,
int  order = 4,
int  wrapped = 0,
int  corner = 0 
)

GU_Curve* GU_Detail::interpCurveLocal ( const GEO_Face face,
unsigned  type = GEOPRIMBEZCURVE,
int  order = 4,
int  corner = 0 
)

GU_TPSurf* GU_Detail::interpSurfBreakpoints ( const UT_PtrMatrix< GEO_Point * > &  gpMesh,
unsigned  type = GEOPRIMNURBSURF,
int  uOrder = 4,
int  vOrder = 4,
int  uWrapped = 0,
int  vWrapped = 0,
GEO_SurfaceType  sType = GEO_PATCH_QUADS,
GB_ParmType  uParmType = GB_PARM_CHORD,
GB_ParmType  vParmType = GB_PARM_CHORD,
GB_KnotSpaceType  uKnotSpaceType = GB_KNOT_AVERAGING,
GB_KnotSpaceType  vKnotSpaceType = GB_KNOT_AVERAGING,
const UT_Vector uParmValues = 0,
const UT_Vector vParmValues = 0 
)

GU_TPSurf* GU_Detail::interpSurfBreakpoints ( const GEO_Hull mesh,
unsigned  type = GEOPRIMNURBSURF,
int  uOrder = 4,
int  vOrder = 4,
GEO_SurfaceType  sType = GEO_PATCH_QUADS,
GB_ParmType  uParmType = GB_PARM_CHORD,
GB_ParmType  vParmType = GB_PARM_CHORD,
GB_KnotSpaceType  uKnotSpaceType = GB_KNOT_AVERAGING,
GB_KnotSpaceType  vKnotSpaceType = GB_KNOT_AVERAGING,
const UT_Vector uParmValues = 0,
const UT_Vector vParmValues = 0 
)

GU_TPSurf* GU_Detail::interpSurfGlobal ( const UT_PtrMatrix< GEO_Point * > &  gpMesh,
unsigned  type = GEOPRIMNURBSURF,
int  uOrder = 4,
int  vOrder = 4,
int  uWrapped = 0,
int  vWrapped = 0,
GEO_SurfaceType  sType = GEO_PATCH_QUADS,
GB_ParmType  uParmType = GB_PARM_CHORD,
GB_ParmType  vParmType = GB_PARM_CHORD,
GB_KnotSpaceType  uKnotSpaceType = GB_KNOT_AVERAGING,
GB_KnotSpaceType  vKnotSpaceType = GB_KNOT_AVERAGING,
const UT_Vector uParmValues = 0,
const UT_Vector vParmValues = 0 
)

GU_TPSurf* GU_Detail::interpSurfGlobal ( const GEO_Hull mesh,
unsigned  type = GEOPRIMNURBSURF,
int  uOrder = 4,
int  vOrder = 4,
GEO_SurfaceType  sType = GEO_PATCH_QUADS,
GB_ParmType  uParmType = GB_PARM_CHORD,
GB_ParmType  vParmType = GB_PARM_CHORD,
GB_KnotSpaceType  uKnotSpaceType = GB_KNOT_AVERAGING,
GB_KnotSpaceType  vKnotSpaceType = GB_KNOT_AVERAGING,
const UT_Vector uParmValues = 0,
const UT_Vector vParmValues = 0 
)

GEO_Primitive* GU_Detail::intersectRay ( const UT_Vector3 o,
const UT_Vector3 d,
float  tmax = 1E17F,
float  tol = 1E-12F,
float *  dist = 0,
UT_Vector3 pos = 0,
UT_Vector3 nml = 0,
int  accurate = 0,
float *  u = 0,
float *  v = 0,
int  ignoretrim = 1 
) const

static bool GU_Detail::isFormatSupported ( const char *  filename  )  [static]

Returns true if filename is a recognized extension.

unsigned GU_Detail::isPolyConvex ( GB_PrimitiveGroup primGroup = 0  )  const

GEO_Primitive* GU_Detail::join ( GU_JoinParms p,
int &  count 
)

void GU_Detail::joint ( const GU_JointParms p  ) 

int GU_Detail::lattice ( const GU_Detail source,
const GU_Detail rest,
const GU_Detail deform,
int  xdiv,
int  ydiv,
int  zdiv,
const GB_PointGroup ptgroup = 0,
UT_BitArray deform_history = NULL,
GU_LatticeType  type = GU_LATTICE_BEZIER 
)

void GU_Detail::limb ( GU_LimbParms parms,
GU_LimbAngles ret_angles 
)

virtual bool GU_Detail::load ( UT_IStream is,
const UT_Options options 
) [virtual]

Reimplemented from GEO_Detail.

virtual int GU_Detail::load ( const char *  ,
const UT_Options options 
) [virtual]

static void GU_Detail::loadIODSOs (  )  [static]

int GU_Detail::loft ( GU_LoftParms p,
const GB_PrimitiveGroup group = 0 
)

int GU_Detail::loft ( GU_LoftParms p,
const GB_PointGroup g1,
const GB_PointGroup g2 
)

static int GU_Detail::loftHulls ( GEO_Hull left,
GEO_Hull right,
float  lwidth1,
float  lwidth2,
float  rwidth1,
float  rwidth2,
int  sharp,
int &  lstart,
int &  rstart,
int &  lmax,
int &  rmax,
int  loftU,
GB_NUBBasis nubbasis 
) [static]

void GU_Detail::lsystem ( GU_LSystemParms lp  ) 

int GU_Detail::magnet ( const GU_MagnetParms parms  ) 

int GU_Detail::makeFacesCompatible ( const UT_PtrArray< GEO_Primitive * > &  ufaces_array,
const UT_PtrArray< GEO_Primitive * > &  vfaces_array,
UT_PtrArray< GEO_Primitive * > &  ucfaces_array,
UT_PtrArray< GEO_Primitive * > &  vcfaces_array,
int  mustopen = 0,
int  mustends = 0,
int  nonrational = 0,
unsigned *  extratype = 0,
int  equalcvs = 1 
)

int GU_Detail::makeFacesCompatible ( const GB_PrimitiveGroup infacesU,
const GB_PrimitiveGroup infacesV,
GB_PrimitiveGroup outfacesU,
GB_PrimitiveGroup outfacesV,
int  mustopen = 0,
int  mustends = 0,
int  nonrational = 0,
unsigned *  extratype = 0,
int  equalcvs = 1 
)

int GU_Detail::makeFacesCompatible ( const UT_PtrArray< GEO_Primitive * > &  prims_in,
UT_PtrArray< GEO_Primitive * > &  prims_out,
int  mustopen = 0,
int  mustends = 0,
int  nonrational = 0,
unsigned *  extratype = 0,
int  equalcvs = 1 
)

int GU_Detail::makeFacesCompatible ( const GB_PrimitiveGroup infaces,
GB_PrimitiveGroup outfaces,
int  mustopen = 0,
int  mustends = 0,
int  nonrational = 0,
unsigned *  extratype = 0,
int  equalcvs = 1 
)

int GU_Detail::makePrimsPlanar ( const GB_PrimitiveGroup grp = 0  ) 

int GU_Detail::makeSurfacesCompatible ( const GB_PrimitiveGroup insurfs,
GB_PrimitiveGroup outsurfs,
int  mustopenu = 0,
int  mustopenv = 0,
int  mustendsu = 0,
int  mustendsv = 0,
int  equalcvsu = 1,
int  equalcvsv = 1,
unsigned *  extratype = 0 
)

void GU_Detail::matchClothSeams ( const GU_ClothMatchSeamsParms parms  ) 

GU_PrimMesh* GU_Detail::meshCube ( int  xdiv,
int  ydiv,
int  zdiv,
float  xmin = -0.5F,
float  xmax = 0.5F,
float  ymin = -0.5F,
float  ymax = 0.5F,
float  zmin = -0.5F,
float  zmax = 0.5F,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
bool  consolidate = false 
)

GU_PrimMesh* GU_Detail::meshGrid ( int  rows,
int  cols,
float  xsize = 1,
float  ysize = 1,
float  xc = 0,
float  yc = 0,
float  zc = 0,
GU_OrientationType  = GU_PLANE_XY,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
int  wrapu = 0,
int  wrapv = 0 
)

void GU_Detail::metaCacheEnable ( int  onoff  )  [inline]

Definition at line 227 of file GU_Detail.h.

int GU_Detail::metaCacheEnable (  )  const [inline]

Definition at line 226 of file GU_Detail.h.

GEO_Primitive* GU_Detail::newPrimitive ( unsigned  type  )  [protected, virtual]

Implements GEO_Detail.

int GU_Detail::nonLinearDeform ( GU_DeformType  type,
const GU_TwistParms parms,
int &  pasted 
)

virtual void GU_Detail::normal ( UT_Vector3Array output,
bool  use_internaln = true 
) const [virtual]

Implements GEO_Detail.

virtual GB_AttributeRef GU_Detail::normal ( int  internal = 0,
GB_PrimitiveGroup primgroup = 0 
) [virtual]

Add and compute normal attributes. Returns the normal offset. If given a primgroup, only points within the selection are used in the calculation, all others are zeroed.

Implements GEO_Detail.

void GU_Detail::notifyCache ( int  type,
const GB_PointGroup grp 
)

void GU_Detail::notifyCache ( int  type,
const GEO_Point ppt 
)

void GU_Detail::notifyCache ( int  type  ) 

void GU_Detail::notifyMetaSurfCache ( int  type,
const GB_PointGroup  
)

void GU_Detail::notifyMetaSurfCache ( int  type,
const GEO_Point ppt 
)

void GU_Detail::notifyMetaSurfCache ( int  type  ) 

GU_PrimNURBSurf* GU_Detail::nurbCube ( int  xdiv,
int  ydiv,
int  zdiv,
int  orderx = 4,
int  ordery = 4,
int  orderz = 4,
float  xmin = -0.5F,
float  xmax = 0.5F,
float  ymin = -0.5F,
float  ymax = 0.5F,
float  zmin = -0.5F,
float  zmax = 0.5F,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
bool  consolidate = false 
)

GU_PrimNURBSurf* GU_Detail::nurbGrid ( int  rows,
int  cols,
int  orderu = 4,
int  orderv = 4,
int  interpEndsU = 1,
int  interpEndsV = 1,
float  xsize = 1,
float  ysize = 1,
float  xc = 0,
float  yc = 0,
float  zc = 0,
GU_OrientationType  = GU_PLANE_XY,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
int  wrapu = 0,
int  wrapv = 0 
)

GEO_Hull* GU_Detail::offset ( const GU_OffsetParms parms  ) 

int GU_Detail::onlyConsolidatePoints ( float  distance,
const GB_PointGroup ptgrp = 0,
int  mark = 0,
bool  deleteconsolidated = false,
OnlyConsGroupPropagateType  grouppropagate = ONLYCONS_GRP_PROP_LEAST 
)

This does fast consolidation but does *not* call removeUnused when done. This means that degenerate primitives will be left along with orphaned points. If deleteconsolidated is set, the consolidated points only will be deleted. grouppropagate controls which groups the new points will belong to.

void GU_Detail::orient ( const GB_PrimitiveGroup group = 0  ) 

orient all the polygonal faces to have the same winding direction

void GU_Detail::pointInset ( const GB_PointGroup ptgroup,
float  insetdist,
float  nmldist 
)

void GU_Detail::polyExtrude ( const GU_PolyExtrudeParms parms  ) 

GU_PrimPoly* GU_Detail::polyGrid ( int  rows,
int  cols,
float  xsize = 1,
float  ysize = 1,
float  xc = 0,
float  yc = 0,
float  zc = 0,
GU_OrientationType  = GU_PLANE_XY,
GEO_SurfaceType  type = GEO_PATCH_QUADS 
)

GU_PrimPoly* GU_Detail::polyIsoSurface ( float(*)(const UT_Vector3 &)  ptOutside,
const UT_BoundingBox bbox,
int  xdiv,
int  ydiv,
int  zdiv 
)

GU_PrimPoly* GU_Detail::polymeshCube ( int  xdiv,
int  ydiv,
int  zdiv,
float  xmin = -0.5F,
float  xmax = 0.5F,
float  ymin = -0.5F,
float  ymax = 0.5F,
float  zmin = -0.5F,
float  zmax = 0.5F,
GEO_SurfaceType  type = GEO_PATCH_QUADS,
bool  consolidate = false 
)

int GU_Detail::polyPatch ( GU_PolypatchParms parms,
const GB_PrimitiveGroup primGroup = 0 
)

int GU_Detail::polyReduce ( GU_PolyReduceParms parms,
const GB_PrimitiveGroup primGroup = 0,
int *  pointIndexTable = 0 
)

void GU_Detail::polySpline ( GU_PolysplineParms parms,
const GB_PrimitiveGroup primGroup = 0,
bool  deleteAll = true 
)

void SYS_DEPRECATED GU_Detail::preserveGroups ( const GEO_Primitive oldprim,
const GEO_Primitive newprim 
)

Deprecated in favour of GEO_Primitive::copyGroupMembership().

void SYS_DEPRECATED GU_Detail::preservePrimitiveGroups ( const GEO_Primitive oldprim,
const GEO_Primitive newprim 
)

Deprecated in favour of GEO_Primitive::copyGroupMembership().

void GU_Detail::proximityPoints ( UT_PtrArray< GB_Element * > &  array,
const UT_Vector3 point 
)

void GU_Detail::proximityPrims ( UT_PtrArray< GB_Element * > &  array,
const UT_Vector3 point 
)

void GU_Detail::proximityToPointList ( const UT_Vector3 point  )  [inline]

Definition at line 754 of file GU_Detail.h.

void GU_Detail::proximityToPrimitiveList ( const UT_Vector3 point  )  [inline]

Definition at line 759 of file GU_Detail.h.

void GU_Detail::rails ( GU_RailParms  parms  ) 

void GU_Detail::refine ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
int  countu = 1,
int  countv = 1,
int  arcspacing = 0,
const GB_PrimitiveGroup primGroup = 0 
)

static void GU_Detail::registerIOTranslator ( GEO_IOTranslator trans  )  [static]

void GU_Detail::removeInlinePoints ( float  tol,
const GB_PrimitiveGroup prims 
)

int GU_Detail::removeZeroAreaFaces ( const UT_IntArray primlist,
int  ignoreOpenFaces = 0,
float  tolerance = 0.001F,
int  onlyPolys = 1 
)

int GU_Detail::removeZeroAreaFaces ( GB_PrimitiveGroup grpp,
int  ignoreOpenFaces = 0,
float  tolerance = 0.001F,
int  onlyPolys = 1 
)

void GU_Detail::reverse ( GB_PrimitiveGroup group = 0  ) 

void GU_Detail::reversePointList (  )  [inline]

Definition at line 738 of file GU_Detail.h.

void GU_Detail::reversePoints ( UT_PtrArray< GB_Element * > &  array  ) 

void GU_Detail::reversePolys ( const GB_PrimitiveGroup prmGrp = 0  ) 

Reverse polygons.

void GU_Detail::reversePrimitiveList (  )  [inline]

Definition at line 743 of file GU_Detail.h.

void GU_Detail::reversePrims ( UT_PtrArray< GB_Element * > &  array  ) 

int GU_Detail::revolve ( const GU_RevolveParms parms,
const GU_CapOptions caps,
int &  count 
)

void GU_Detail::rotateTexture ( float  angle,
const GB_PrimitiveGroup primGroup = 0 
)

int GU_Detail::ruled ( GEO_Hull *&  surface,
const GU_RuledParms p,
const GU_CapOptions caps 
)

virtual int GU_Detail::save ( ostream &  os,
int  binary,
const UT_Options options 
) const [virtual]

Reimplemented from GEO_Detail.

virtual int GU_Detail::save ( const char *  ,
int  binary,
const UT_Options options 
) const [virtual]

void GU_Detail::scaleTexture ( float  umult = 1,
float  uoff = 0,
float  vmult = 1,
float  voff = 0,
float  wmult = 1,
float  woff = 0,
const GB_PrimitiveGroup primGroup = 0 
)

The scaleTexture() and rotateTexture() methods are depreciated. Please use the GU_MODIFY_TEX projection and simply create the approprate post-transform.

GU_Selection* GU_Detail::selection ( void   )  const [inline]

Definition at line 1366 of file GU_Detail.h.

void GU_Detail::selection ( GU_Selection s  )  [inline]

Definition at line 1365 of file GU_Detail.h.

int GU_Detail::setCaps ( GEO_Face face,
const GU_CapOptions parms,
int &  count 
)

int GU_Detail::setCaps ( GEO_Hull hull,
const GU_CapOptions parms,
int &  count 
)

void GU_Detail::setSeamPointAttributes ( const GB_PointGroup group_a,
const GB_PointGroup group_b 
)

void GU_Detail::setTriMeshCache ( GU_TriMeshCache cache  )  [inline]

Definition at line 207 of file GU_Detail.h.

void GU_Detail::shift ( int  uoffset,
int  voffset,
GB_PrimitiveGroup group = 0 
)

void GU_Detail::shiftPointList ( int  aoffset  )  [inline]

Definition at line 723 of file GU_Detail.h.

void GU_Detail::shiftPoints ( UT_PtrArray< GB_Element * > &  ,
int  offset 
)

void GU_Detail::shiftPrimitiveList ( int  aoffset  )  [inline]

Definition at line 728 of file GU_Detail.h.

void GU_Detail::shiftPrims ( UT_PtrArray< GB_Element * > &  ,
int  offset 
)

GEO_Hull* GU_Detail::skin ( const UT_PtrArray< GEO_Primitive * > &  prims_in,
GU_SkinCache skin_cache,
GEO_SurfaceType  surftype = GEO_PATCH_QUADS,
unsigned  vorder = 0,
int  vwrap = 0,
int  doskin = 1,
int  nprims = -1,
const UT_Vector vParmValues = 0 
)

GEO_Hull* GU_Detail::skin ( const GB_PrimitiveGroup ucfaces,
GEO_SurfaceType  surftype = GEO_PATCH_QUADS,
unsigned  vorder = 0,
int  vwrap = 0,
int  doskin = 1,
int  nprims = -1,
const UT_Vector vParmValues = 0 
)

GEO_Hull* GU_Detail::skin ( GU_SkinParms parms,
GU_SkinCache skin_cache 
)

void GU_Detail::smoothNonPolygons ( int  iterations,
GU_WeightingType  type,
float  lambda,
float  mu,
const GB_PrimitiveGroup primgrp,
bool  useptattribs,
const GB_AttributeRef attriboffset,
int  attribsize 
)

void GU_Detail::snapGrid ( int  type,
float  xlines,
float  ylines,
float  zlines,
float  xoff,
float  yoff,
float  zoff,
float  tol,
const GB_PointGroup ptGrp = 0 
)

This version of snapping snaps onto grid coordinates. You specify the number of lines per HUnit, so "2" for example will snap to 0.5 boundaries. type is 0 for round nearest, 1 for round down, 2 for round up. 0.5 rounds up in nearest.

void GU_Detail::snapGridPointUVs ( int  type,
float  xlines,
float  ylines,
float  zlines,
float  xoff,
float  yoff,
float  zoff,
float  tol,
const GB_PointGroup ptGrp = 0 
)

void GU_Detail::snapGridVertexUVs ( int  type,
float  xlines,
float  ylines,
float  zlines,
float  xoff,
float  yoff,
float  zoff,
float  tol,
const GB_VertexGroup vtxGrp = 0 
)

void GU_Detail::snapPointAttributes ( const UT_PtrArray< GEO_Point * > &  snaplist,
const UT_PtrArray< GEO_AttributeHandle * > &  attribhandles,
SnapAttributesType  type,
int  snapindex = 0 
)

For each point in snaplist, snap the attributes in attribhandles using the method specified in type Type can be SNAP_ATTRIBUTES_AVERAGE (averages the values) or SNAP_ATTRIBUTES_INDEX which causes all points in snapList to conform to the specified attribute values from snapList(snapIndex). This is done because snapPointAttributes is called from snapPoints, which already sorts points based on point number.

int GU_Detail::snapPoints ( int  type,
float  distance,
const GB_PointGroup ptgrp = 0,
bool  snapptpos = true,
bool  snapptattribs = false,
UT_PtrArray< GEO_AttributeHandle * > *  ptattribhandles = 0 
)

Snap points within a specified distance (returns num done) If a point group is specified, then, only points in that group are consolidated. Snapping doesn't fuse the points together, just makes their positions match. The type is 0 for average, 1 for round to lowest point number and 2 for highest point number. snappointpos controls whether the point positions will be snapped. snapptattribs can be set to indicate that point attributes are to be snapped. ptattribhandles is a list of attribute handles for the attributes that will be snapped.

void GU_Detail::softTransformPointTexture ( const UT_XformOrder order,
float  tx,
float  ty,
float  tz,
float  rx,
float  ry,
float  rz,
float  sx,
float  sy,
float  sz,
float  s_xy,
float  s_xz,
float  s_yz,
float  px,
float  py,
float  pz,
const GEO_SoftTransformPointCache cache,
const GEO_Rolloff rolloff,
GEO_Delta geodelta = 0 
)

void GU_Detail::softTransformVertexTexture ( const UT_XformOrder order,
float  tx,
float  ty,
float  tz,
float  rx,
float  ry,
float  rz,
float  sx,
float  sy,
float  sz,
float  s_xy,
float  s_xz,
float  s_yz,
float  px,
float  py,
float  pz,
const GEO_SoftTransformVertexCache cache,
const GEO_Rolloff rolloff,
GEO_Delta geodelta = 0 
)

void GU_Detail::sortByVertexOrder (  )  [inline]

Definition at line 766 of file GU_Detail.h.

void GU_Detail::sortElements ( UT_PtrArray< GB_Element * > &  array,
float *  order 
)

void GU_Detail::sortPointList ( float *  order  )  [inline]

Definition at line 707 of file GU_Detail.h.

void GU_Detail::sortPointList ( int  seed  )  [inline]

Definition at line 693 of file GU_Detail.h.

void GU_Detail::sortPointList ( const UT_Vector3 o,
const UT_Vector3 d 
) [inline]

Definition at line 678 of file GU_Detail.h.

void GU_Detail::sortPointList ( GU_AxisType  axis  )  [inline]

Definition at line 662 of file GU_Detail.h.

void GU_Detail::sortPoints ( UT_PtrArray< GB_Element * > &  array,
int  seed 
)

void GU_Detail::sortPoints ( UT_PtrArray< GB_Element * > &  array,
const UT_Vector3 o,
const UT_Vector3 d 
)

void GU_Detail::sortPoints ( UT_PtrArray< GB_Element * > &  array,
GU_AxisType  axis = GU_XAXIS 
)

void GU_Detail::sortPrimitiveList ( float *  order  )  [inline]

Definition at line 712 of file GU_Detail.h.

void GU_Detail::sortPrimitiveList ( int  seed  )  [inline]

Definition at line 698 of file GU_Detail.h.

void GU_Detail::sortPrimitiveList ( const UT_Vector3 o,
const UT_Vector3 d 
) [inline]

Definition at line 683 of file GU_Detail.h.

void GU_Detail::sortPrimitiveList ( GU_AxisType  axis  )  [inline]

Definition at line 667 of file GU_Detail.h.

void GU_Detail::sortPrims ( UT_PtrArray< GB_Element * > &  array,
int  seed 
)

void GU_Detail::sortPrims ( UT_PtrArray< GB_Element * > &  array,
const UT_Vector3 o,
const UT_Vector3 d 
)

void GU_Detail::sortPrims ( UT_PtrArray< GB_Element * > &  array,
GU_AxisType  axis = GU_XAXIS 
)

void GU_Detail::sortVertices ( UT_PtrArray< GEO_Vertex * > &  array,
GU_AxisType  axis = GU_XAXIS 
)

int GU_Detail::stitch ( GU_StitchParms parms  ) 

void GU_Detail::subdivide ( float *  uunit,
int  ulen,
float *  vunit,
int  vlen,
int  arcspacing = 0,
const GB_PrimitiveGroup primGroup = 0 
)

void GU_Detail::superEllipsoid ( const GU_SuperQuadParms parms  ) 

GU_ERROR GU_Detail::sweep ( GU_SweepParms  parms  ) 

void GU_Detail::torus ( unsigned  type,
GU_TorusParms parms 
)

float GU_Detail::trace ( GU_TraceParms parms  ) 

void GU_Detail::transformBreakpoints ( const UT_Matrix4 mat,
const GB_BreakpointGroup grp = 0,
int  quickxform = 0 
)

void GU_Detail::transformPointTexture ( const UT_Matrix4 mat,
const GB_PointGroup ptGroup,
GEO_Delta geodelta = 0 
)

Methods for transforming point and vertex texture attributes:.

void GU_Detail::transformVertexTexture ( const UT_Matrix4 mat,
const GB_VertexGroup vertexGroup,
GEO_Delta geodelta = 0 
)

int GU_Detail::triStrip ( GU_TriStripParms parms  ) 

void GU_Detail::unHole ( const GB_PrimitiveGroup primGroup = 0  ) 

Remove bridged holes from other than polygons.

void GU_Detail::uniquePoints ( const GB_Group group = 0,
int  useMark = 0 
)

Unique all points in the detail. If a point group is specified, then only points in that group are uniqued If a primitive group is specified, only those primitives will have their points uniqued.

void GU_Detail::uniquePrimitive ( GEO_Primitive prim  ) 

Unique all the points that are in this primitive, even if referenced by other primitives.

void GU_Detail::unrefine ( float  umin,
float  umax,
float  vmin,
float  vmax,
int  countu = 1,
int  countv = 1,
float  utol = 0.001F,
float  vtol = 0.001F,
const GB_PrimitiveGroup primGroup = 0 
)

static void GU_Detail::unregisterIOTranslator ( GEO_IOTranslator trans  )  [static]

int GU_Detail::updatePastedDependents ( GB_PrimitiveGroup all,
GB_PrimitiveGroup used 
)

void GU_Detail::updatePastedDisplacement ( const GEO_Point ppt,
const GB_PrimitiveGroup all,
GB_PrimitiveGroup used 
)

int GU_Detail::updatePastedDisplacements ( void   ) 

void GU_Detail::vertexOrder ( UT_PtrArray< GB_Element * > &  array  ) 

int GU_Detail::warp ( GU_WarpParms parms  ) 


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

Generated on Mon Jan 28 00:29:36 2013 for HDK by  doxygen 1.5.9