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

#include <GOP_Guide.h>

+ Inheritance diagram for GOP_Guide:

Public Member Functions

 GOP_Guide (GOP_GuideType intype=OP_GUIDE_ONE)
 
void displayGeometry (bool f)
 
void displayFont (bool f)
 
void displayHulls (bool f)
 
void displayText (bool f)
 
void displayPrimNums (bool f)
 
void displayAsPoints (bool f)
 
void displayShaded (bool b)
 Display this guide as shaded when in viewport shaded modes. More...
 
void forceShaded (bool b)
 Always display this guide as shaded, regardless of viewport shading mode. More...
 
void drawXRay (bool b)
 Draw the guide so that it can be seen through solid objects as wireframe. More...
 
bool displayGeometry () const
 
bool displayFont () const
 
bool displayHulls () const
 
bool displayText () const
 
bool displayPrimNums () const
 
bool displayAsPoints () const
 
bool displayShaded () const
 
bool forceShaded () const
 
bool drawXRay () const
 
GOP_GuideType getType () const
 
void buildVector (const UT_Vector3 &origin, const UT_Vector3 &direction, const GU_Detail *boxgdp)
 
void buildCurve (const GEO_Primitive *prim, GA_PointGroup *guidepts, int doU, float depth, float width1, float width2, bool arclen=false)
 
void buildDomain (const GU_Detail *srcgdp, const GA_PrimitiveGroup *srcgroup, const GEO_Primitive *auxprim, int first_group, GA_PointGroup *guidepts, int doU, int loop, float ldepth, float lwidth1, float lwidth2, float rdepth, float rwidth1, float rwidth2)
 
int64 getMemoryUsage (bool inclusive) const override
 Compute memory usage (includes all shared memory) More...
 
- Public Member Functions inherited from GU_Detail
 GU_Detail ()
 
 GU_Detail (bool full_topology)
 
 GU_Detail (const GU_Detail *src, GA_PrimitiveGroup *primGroup, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP)
 
 GU_Detail (const GU_Detail *src, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP)
 
 ~GU_Detail () override
 
int64 getMemoryUsage (bool inclusive) const override
 Compute memory usage (includes all shared memory) More...
 
void countMemory (UT_MemoryCounter &counter, bool inclusive) const override
 
void clearCaches () override
 
void duplicate (const GU_Detail &gdp, int=0, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP)
 
GA_DetailcloneEmptyDetail (bool clone_attributes) const override
 
void findBoundaryPoints (UT_BitArray &isboundary, bool checkuv, const RingRef *ringref=nullptr, const UT_StringHolder &uvattribname="uv"_UTsh) const
 
void findSelectionBoundaryPoints (const UT_BitArray &pointselection, UT_BitArray &isboundary) const
 
void buildRingZeroPoints (UT_Array< GA_OffsetArray > &ringzero, UT_IntArray *ringvalence=0) const
 
void buildRingZeroPoints (const GA_PointGroup *ptgroup, UT_Array< GA_OffsetArray > &ringzero, UT_IntArray *ringvalence=0, const GA_PrimitiveGroup *primgroup=0) const
 
void buildRingZeroVertices (UT_Array< GA_OffsetArray > &ringzero, const GA_PrimitiveGroup *prims=0) const
 
void buildRingZeroPrimitives (UT_Array< GA_OffsetArray > &ringzero) const
 
UT_UniquePtr< GA_CEAttributebuildTopologyCEAttribute (GA_Topology::TopologyCE topotype, GA_StorageClass storage, GA_Precision precision, int &tuplesize, bool isarray, bool read, bool write) const override
 
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)
 
GA_Offset buildGrid (GU_GridParms &parms, GU_GridType type=GU_GRID_MESH)
 
GA_Offset pointGrid (int rows, int cols, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType plane=GU_PLANE_XY, GA_Offset startpoint=GA_INVALID_OFFSET)
 
GA_Offset polyGrid (int rows, int cols, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType plane=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS)
 
GU_PrimPolySouppolySoupGrid (int rows, int cols, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType plane=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS)
 Creates a grid that is a single polygon soup in this detail. More...
 
GU_PrimMeshmeshGrid (int rows, int cols, float xsize=1, float ysize=1, float xc=0, float yc=0, float zc=0, GU_OrientationType plane=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 plane=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 plane=GU_PLANE_XY, GEO_SurfaceType type=GEO_PATCH_QUADS, int wrapu=0, int wrapv=0)
 
void torus (unsigned type, GU_TorusParms &parms)
 
void polyIsoSurface (float(*ptOutside)(const UT_Vector3 &, void *), void *data, const UT_BoundingBox &bbox, int xdiv, int ydiv, int zdiv, bool makepolysoup=false)
 
void buildMetaSurface (const GU_Detail *src, float lod, const GA_PrimitiveGroup *primGroup=0, bool makepolysoup=false)
 
void buildMetaSurface (const GU_Detail *src, int divx, int divy, int divz, const GA_PrimitiveGroup *primGroup=0, bool makepolysoup=false)
 
void buildMetaXsection (const GU_Detail *src, int nsections, int axis=2, int maxdepth=4, const GA_PrimitiveGroup *primGroup=nullptr)
 
void orient (const GA_PrimitiveGroup *group=0)
 orient all the polygonal faces to have the same winding direction More...
 
void extrude (GU_ExtrudeParms &parms)
 inset and extrude a face More...
 
void blend (const GU_Detail *source, float weight, bool doPos, bool doClr, bool doNml, bool doTxt, bool doVoxels, bool doSlerp, const char *ptidattr, const char *primidattr)
 
int blend (const GU_Detail *gdps[], const float weights[], int size, bool doPos, bool doClr, bool doNml, bool doTxt, bool doVoxels, bool doSlerp, const char *ptidattr, const char *primidattr, const GA_PointGroup *ptGroup)
 
void creep (GU_CreepParms &parms)
 Transform points to follow surface of path input. More...
 
GA_Size consolidatePoints (fpreal distance, const GA_PointGroup *ptGrp=0, bool forceConsAll=false, bool mark=false, bool accurate=false)
 
GA_Size fastConsolidatePoints (fpreal distance, const GA_PointGroup *ptGrp=0, bool mark=false, bool accurate=false)
 
GA_Size onlyConsolidatePoints (fpreal distance, const GA_PointGroup *ptgrp=0, bool mark=false, bool deleteconsolidated=false, OnlyConsGroupPropagateType grouppropagate=ONLYCONS_GRP_PROP_LEAST, bool accurate=false)
 
GA_Size consolidateNormals (fpreal distance, const GA_PointGroup *ptGrp=0, bool forceConsAll=false, bool accurate=false)
 
GA_Size fastConsolidateNormals (fpreal distance, const GA_PointGroup *ptGrp=0, bool accurate=false)
 
int fastConsolidatePointUVs (float distance, const GA_PointGroup &ptGrp, const GU_MetricType metric, int method, UT_Vector3 &uvw)
 
int fastConsolidatePointUVs (const GA_RWHandleV3 &uvattrib, float distance, const GA_PointGroup &ptGrp, const GU_MetricType metric, int method, UT_Vector3 &uvw)
 
int fastConsolidateVertexUVs (float distance, const GA_VertexGroup &vtxGrp, const GU_MetricType metric, int method, UT_Vector3 &uvw)
 
int fastConsolidateVertexUVs (const GA_RWHandleV3 &uvattrib, float distance, const GA_VertexGroup &vtxGrp, const GU_MetricType metric, int method, UT_Vector3 &uvw)
 
GA_Size snapPoints (int type, fpreal distance, const GA_PointGroup *ptgrp=0, bool snapptpos=true, UT_Array< GA_Attribute * > *ptattribs=0, bool accurate=true)
 
void snapGrid (int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GA_PointGroup *ptGrp=0)
 
void snapGridPointUVs (int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GA_PointGroup *ptGrp=0)
 Same as above, but with UVs... More...
 
void snapGridPointUVs (const GA_RWHandleV3 &uvattrib, int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GA_PointGroup *ptGrp=0)
 
void snapGridVertexUVs (int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GA_VertexGroup *vtxGrp=0)
 
void snapGridVertexUVs (const GA_RWHandleV3 &uvattrib, int type, float xlines, float ylines, float zlines, float xoff, float yoff, float zoff, float tol, const GA_VertexGroup *vtxGrp=0)
 
int buildHoles (float dist=0.001F, float angle=0.2F, int snapFace=0, const GA_PrimitiveGroup *primGroup=0)
 
void unHole (const GA_PrimitiveGroup *primGroup=0)
 Remove bridged holes from other than polygons. More...
 
void uniquePoints (const GA_PointGroup *group=0)
 
void uniquePrimitive (GEO_Primitive *prim)
 
GA_Size cleanData (const GA_PrimitiveGroup *primGrp=0, bool removeRepPoints=false, float tol=0.001F, bool deleteDegenPrimPoints=false, bool deleteOrphanedPoints=false, bool deleteDegenerateBridges=false)
 
GA_Size getDirtyData (GA_PrimitiveGroup *returnGrp, const GA_PrimitiveGroup *primGrp=0, bool checkRepPoints=false, float tol=0.001F)
 
bool applyTexture (GU_TextureType type, GU_AxisType axis, const GA_PrimitiveGroup *primGroup=0, int applyToVertex=-1, int fixPolySeams=0, const GU_CameraParms *userData=0)
 
bool applyTexture (const UT_StringRef &uvattribname, GU_TextureType type, GU_AxisType axis, const GA_PrimitiveGroup *primGroup=0, int applyToVertex=-1, int fixPolySeams=0, const GU_CameraParms *userData=0)
 
bool scaleTexture (float umult=1, float uoff=0, float vmult=1, float voff=0, float wmult=1, float woff=0, const GA_PrimitiveGroup *primGroup=0)
 
bool scaleTexture (const UT_StringRef &uvattribname, float umult=1, float uoff=0, float vmult=1, float voff=0, float wmult=1, float woff=0, const GA_PrimitiveGroup *primGroup=0)
 
bool rotateTexture (float angle, const GA_PrimitiveGroup *primGroup=0)
 
bool rotateTexture (const UT_StringRef &uvattribname, float angle, const GA_PrimitiveGroup *primGroup=0)
 
void transformPointTexture (const UT_Matrix4 &mat, const GA_PointGroup *ptGroup=nullptr, GEO_Delta *geodelta=0)
 Methods for transforming point and vertex texture attributes: More...
 
void transformPointTexture (const GA_RWHandleV3 &pth, const UT_Matrix4 &mat, const GA_PointGroup *ptGroup=nullptr, GEO_Delta *geodelta=0)
 
void computeSoftTransformPointTextureCache (GEO_SoftTransformCache &cache, const GA_PointGroup *ptgroup, const GEO_Rolloff &rolloff, const GU_MetricType metric) const
 
void computeSoftTransformPointTextureCache (const GA_ROHandleV3 &pttxth, GEO_SoftTransformCache &cache, const GA_PointGroup *ptgroup, const GEO_Rolloff &rolloff, const GU_MetricType metric) const
 
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_SoftTransformCache &cache, const GEO_Rolloff &rolloff, GEO_Delta *geodelta=0, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTransformPointTexture (const GA_RWHandleV3 &ptattr, 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_SoftTransformCache &cache, const GEO_Rolloff &rolloff, GEO_Delta *geodelta=0, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void transformVertexTexture (const UT_Matrix4 &mat, const GA_VertexGroup *vertexGroup=nullptr, GEO_Delta *geodelta=0)
 
void transformVertexTexture (const GA_RWHandleV3 &vtxh, const UT_Matrix4 &mat, const GA_VertexGroup *vertexGroup=nullptr, GEO_Delta *geodelta=0)
 
void computeSoftTransformVertexTextureCache (GEO_SoftTransformCache &cache, const GA_VertexGroup *vtxgroup, const GEO_Rolloff &rolloff, const GU_MetricType metric, bool ignore_uv_connectivity) const
 
void computeSoftTransformVertexTextureCache (const GA_ROHandleV3 &vtxh, GEO_SoftTransformCache &cache, const GA_VertexGroup *vtxgroup, const GEO_Rolloff &rolloff, const GU_MetricType metric, bool ignore_uv_connectivity) const
 
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_SoftTransformCache &cache, const GEO_Rolloff &rolloff, GEO_Delta *geodelta=0, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTransformVertexTexture (const GA_RWHandleV3 &vtxh, 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_SoftTransformCache &cache, const GEO_Rolloff &rolloff, GEO_Delta *geodelta=0, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void reversePolys (const GA_PrimitiveGroup *prmGrp=0)
 Reverse polygons. More...
 
void convertMetaballs (GEO_MetaConvertParms &parms, const GA_PrimitiveGroup *prim_grp=nullptr)
 
void shift (int uoffset, int voffset, const GA_PrimitiveGroup *group=nullptr)
 
void reverse (const GA_PrimitiveGroup *group=nullptr, bool update_attributes=true)
 
void superEllipsoid (const GU_SuperQuadParms &parms)
 
void convexPoly (GEO_PrimPoly *pp, GA_ElementWranglerCache &wranglers, GA_Size maxpts=3, const GA_Detail *restgdp=0, bool flipedges=false, bool avoiddegeneracy=false)
 
void convexPolySoup (GEO_PrimPolySoup *polysoup, GA_Size maxpts=3, const GA_Detail *restgdp=0, bool flipedges=false, bool avoiddegeneracy=false)
 
void convex (GA_Size maxpts=3, const GA_PrimitiveGroup *primGroup=0, const GA_Detail *restgdp=0, bool flipedges=false, bool avoiddegeneracy=false)
 
GA_Size findNonPlanar (GA_PrimitiveGroup *nonplanargroup, float tol=0.0001F, const GA_PrimitiveGroup *searchprimgroup=nullptr)
 Add non-planar polygon primitives to nonplanargroup. More...
 
void clip (UT_Vector3 &normal, float d=0, int normlize=0, const GA_PrimitiveGroup *primGroup=0, bool clippts=false)
 
void clip (bool fill, const UT_Vector3F &origin, const UT_Vector3F &normal, fpreal tolerance=0.00001, const GA_PrimitiveGroup *group=nullptr, GA_EdgeGroup *on_edges=nullptr, GA_PrimitiveGroup *on_polygons=nullptr, GA_PrimitiveGroup *filled_polygons=nullptr)
 
void crease (UT_Vector3 &normal, float d=0, int normlize=0, int outputGroups=0, GA_PrimitiveGroup *above=0, GA_PrimitiveGroup *below=0, const GA_PrimitiveGroup *creaseGroup=0)
 
void crease (bool split, bool fill, const UT_Vector3F &origin, const UT_Vector3F &normal, fpreal tolerance=0.00001, const GA_PrimitiveGroup *group=nullptr, GA_EdgeGroup *on_edges=nullptr, GA_PrimitiveGroup *on_prims=nullptr, GA_PrimitiveGroup *above_prims=nullptr, GA_PrimitiveGroup *below_prims=nullptr, GA_PrimitiveGroup *filled_polygons=nullptr)
 
void fractalize (int seed=1, float roughness=0.6F, float scaleby=1, int divs=1, int fixedBoundry=1, int useVtxNorms=0, const char *nmlattribname=nullptr, float nx=0, float ny=0, float nz=1, const GA_PrimitiveGroup *fractalGroup=0)
 
void shrink (fpreal distance, fpreal clip_tolerance=0.0001, fpreal consilidate_tolerance=0.001)
 
bool tetrahedralizeForShrink (const GA_PointGroup *ptGroup=0, GU_Detail *gdp=0)
 preliminary routine to setup the gdp to be shrunk by the shrink routine More...
 
int nonLinearDeform (GU_DeformType type, const GU_TwistParms &parms, int &pasted)
 
GEO_Hulloffset (const GU_OffsetParms &parms)
 
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)
 
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)
 Join more faces or surfaces together. More...
 
GEO_HullfilletTrims (GU_TrimFilletParms &parms, int &count)
 Generate a fillet between two curves on surfaces: More...
 
GEO_HullfilletRound (GU_RoundFilletParms &parms)
 Generate a rounded fillet: More...
 
void filletRoundNetwork (const UT_RefMatrix< GEO_Primitive * > &facematrix, GU_RoundFilletParms &parms)
 
int fillet (GU_FilletParms &parms, int &count)
 
int revolve (const GU_RevolveParms &parms, const GU_CapOptions &caps, int &count)
 
int warp (GU_WarpParms &parms)
 Warp curves or surfaces. Return 0 if successful and -1 otherwise. More...
 
GU_ERROR curveClay (const GU_CurveClayParms &ccparm)
 Curve Clay it! More...
 
int endCap (GEO_Hull &hull, const GU_CapParms &parms)
 This puts endcaps on the specified hull. More...
 
int endCap (GEO_Face &face, const GU_CapParms &parms)
 
int setCaps (GEO_Hull &hull, const GU_CapOptions &parms, int &count)
 This places all caps on the hull. More...
 
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 GA_PointGroup *ptgroup=0, UT_BitArray *deform_history=nullptr, GU_LatticeType type=GU_LATTICE_BEZIER)
 
int magnet (const GU_MagnetParms &parms)
 
float trace (GU_TraceParms *parms)
 trace a raster image to form closed polygons More...
 
void applyTraceTexture (float xres, float yres, float resolution)
 add point texture attributes to traced geometry More...
 
void fit2DCurve (const GU_Detail *source, float error_squared, GA_PrimitiveGroup *primGroup=0)
 fit a sequence of discrete points to a series of bezier curves More...
 
void polySpline (GU_PolysplineParms &parms, const GA_PrimitiveGroup *primGroup=0, bool deleteAll=true)
 
bool polyPatch (GU_PolypatchParms &parms, const GA_PrimitiveGroup *primGroup=0)
 
int polyReduce (GU_PolyReduceParms &parms, const GA_PrimitiveGroup *primGroup=0, int *pointIndexTable=0)
 reduce the number of polygons in a detail: More...
 
void polySoup (const GEO_PolySoupParms &parms, const GU_Detail *srcdetail)
 Create polygon soup(s), i.e. GU_PrimPolySoup, where possible in this detail. More...
 
void lsystem (GU_LSystemParms &lp)
 Create geometry through premise and rule substitution. More...
 
int info (std::ostream &os, int max_group_lines=15, bool pretty=false, const UT::ArraySet< const void * > *dontcounttheseblocks=0, bool instanced=false) const
 
void info (UT_WorkBuffer &wbuf, int max_group_lines=15, bool pretty=false, const UT::ArraySet< const void * > *dontcounttheseblocks=0, bool instanced=false) const
 
void statVolumes (GA_Stat &stat, uint level) const override
 Fills in a stat structure with the volume information. More...
 
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
 
GA_Detail::IOStatus saveH9File (const char *filename, const GA_SaveOptions *options) const
 
void align (GU_AlignParms &parms)
 Align a set of primitives by rotation and translation. More...
 
int stitch (GU_StitchParms &parms)
 
int makeSurfacesCompatible (const GA_PrimitiveGroup &insurfs, GA_PrimitiveGroup &outsurfs, bool mustopenu=false, bool mustopenv=false, bool mustendsu=false, bool mustendsv=false, bool equalcvsu=true, bool equalcvsv=true, GA_PrimCompat::TypeMask *extratype=0)
 
GU_SelectionHandle getOrCreateCookSelection (GA_GroupType group_type, bool ordered=false, bool clear_matching=false)
 
GA_GroupType getCookSelectionGroupType () const
 
GU_SelectionHandle createShallowCookSelection (GA_Group *group)
 
bool hasShallowCookSelectionReference (const GA_Group *group) const
 
GU_SelectionHandle cookSelection () const
 Returns the current cook selection;. More...
 
void removeCookSelection ()
 
void updateCookSelectionDataIds ()
 
void stashCookSelectionBeforeReplaceWith (GU_CookSelectionReplaceStash &stash) const
 Assumes a fresh GU_CookSelectionReplaceStash instance. More...
 
void replaceCookSelection (const GU_Detail &src, GU_CookSelectionReplaceStash *stash)
 
void forceCookSelection (GU_SelectionHandle sel)
 
GU_SelectionHandle stealCookSelection ()
 
void removeInlinePoints (float tol, const GA_PrimitiveGroup *prims, const GA_PointGroup *pts=nullptr)
 
void deleteGroupGeometry (const GA_Group &group)
 
void deleteEdges (GA_EdgeGroup &edgegroup, bool del_inline_points, float inlinetol, bool del_unused_points=true, bool del_bridges=true)
 Deletes edge geometry. More...
 
void dissolveEdges (const GA_EdgeGroup &edgegroup, bool del_inline_points, fpreal inlinetol, bool del_unused_points, BridgeMode bridge_mode, bool del_degenerate_bridges, bool boundary_curves)
 
void flipEdges (const GA_EdgeGroup &edgegroup, int rotations=1, bool rotattribs=false, GA_EdgeGroup *outedges=0)
 Flips edges. More...
 
void edgeSplit (const GU_SplitLocArray &splitlocs, bool quadcut=false, bool forcecut=true, GA_EdgeGroup *outedges=0, float tolerance=SYS_FTOLERANCE, bool quadcomplete=false, bool modifyGdp=true, UT_Fpreal32Array *outPositions=nullptr, bool fixEnds=false)
 
void divideEdges (const UT_Array< GU_EdgeDiv * > &divlocs, GA_PointGroup &outgrp)
 
void transformBreakpoints (const UT_Matrix4 &mat, const GA_BreakpointGroup *grp=0, int quickxform=0)
 Transform breakpoints. More...
 
void polyExtrude (const GU_PolyExtrudeParms &parms)
 Extrude faces, uses local face spaces and tries to mirror extrusions. More...
 
void edgeCollapse (const GA_EdgeGroup &edgegroup, bool removedegen=true, bool updatenmls=true, GA_PointGroup *outpoints=nullptr, const UT_Array< GA_Attribute * > *connect_attrib=nullptr)
 Collapse Edges. More...
 
void edgeCrease (const GU_EdgeCreaseParms &parms)
 Adds crease weights to edges. More...
 
void pointInset (const GA_PointGroup *ptgroup, float insetdist, float nmldist)
 Insets points. More...
 
void getOBBox (const GA_PrimitiveGroup *grp, UT_Matrix4 &transform, UT_Vector3 &radii) const
 
void getOBBoxForPrims (const GA_PrimitiveGroup *grp, UT_OBBoxD &obb, int refinement_iterations=6) const
 
void getOBBoxForPoints (const GA_PointGroup *grp, UT_OBBoxD &obb, int refinement_iterations=6) const
 
bool getCachedBounds (UT_BoundingBox &box) const
 
bool getCachedVisibleBounds (UT_BoundingBox &box) const
 
void clearCachedBounds ()
 
GA_Size makePrimsPlanar (const GA_PrimitiveGroup *grp=0)
 Make each primitive planar, returns the number of primitives xformed. More...
 
exint getUniqueValueCount (const GA_Attribute *attrib) const
 
exint getUniqueIntegerValue (const GA_Attribute *attrib, exint idx) const
 
const UT_StringHoldergetUniqueStringValue (const GA_Attribute *attrib, exint idx) const
 
GA_Range getRangeByValue (const GA_Attribute *attrib, exint v) const
 
GA_Range getRangeByValue (const GA_Attribute *attrib, const UT_StringRef &v) const
 
const AttribValueLookupTablegetLookupTable (const GA_Attribute *attrib) const
 
const
AttribSingleValueLookupTable
getSingleLookupTable (const GA_Attribute *attrib) const
 
GU_DetailcloneForCache (bool copy_unique_id) const
 
void cloneForCache (GU_Detail &dest, bool copy_unique_id, bool copy_detail=true) const
 
bool computeAvgNormal (const GA_PointGroup *group, const GA_ROHandleV3 &normals, UT_Vector3 &avg_normal) const
 
bool computeAvgNormal (const GA_PointGroup *group, UT_Vector3 &avg_normal) const
 
void convert (GEO_ConvertParms &parms)
 
void convertNew (GEO_ConvertParms &parms)
 Performs conversion, keeping the source primitives. More...
 
void sortPoints (GA_IndexMap &array, GU_AxisType axis=GU_XAXIS)
 
void sortPoints (GA_IndexMap &array, const GA_Range &range, GU_AxisType axis)
 
void sortPoints (GA_OffsetArray &array, GU_AxisType axis=GU_XAXIS)
 
void sortPrims (GA_IndexMap &array, GU_AxisType axis=GU_XAXIS)
 
void sortPrims (GA_IndexMap &array, const GA_Range &range, GU_AxisType axis)
 
void sortPointList (GU_AxisType axis)
 
void sortPrimitiveList (GU_AxisType axis)
 
void sortPointsSpatial ()
 
void sortPointsSpatial (const GA_Range &range)
 
void sortPrimsSpatial ()
 
void sortPrimsSpatial (const GA_Range &range)
 
void sortPoints (GA_IndexMap &array, const UT_Vector3 &o, const UT_Vector3 &d)
 
void sortPoints (GA_IndexMap &array, const GA_Range &range, const UT_Vector3 &o, const UT_Vector3 &d)
 
void sortPrims (GA_IndexMap &array, const UT_Vector3 &o, const UT_Vector3 &d)
 
void sortPrims (GA_IndexMap &array, const GA_Range &range, 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 (GA_IndexMap &array, int seed)
 
void sortPrims (GA_IndexMap &array, int seed)
 
void sortPointList (int seed)
 
void sortPrimitiveList (int seed)
 
void sortElements (GA_IndexMap &array, fpreal *order)
 
void sortElements (GA_IndexMap &array, exint *order)
 
void sortElements (GA_IndexMap &array, const GA_Range &range, fpreal *order)
 
void sortElements (GA_IndexMap &array, const GA_Range &range, exint *order)
 
void sortPointList (fpreal *order)
 
void sortPointList (exint *order)
 
void sortPrimitiveList (fpreal *order)
 
void sortPrimitiveList (exint *order)
 
void shiftPoints (GA_IndexMap &map, GA_Size offset)
 
void shiftPrims (GA_IndexMap &map, GA_Size offset)
 
void shiftPoints (GA_IndexMap &map, const GA_Range &range, GA_Size offset)
 
void shiftPrims (GA_IndexMap &map, const GA_Range &range, GA_Size offset)
 
void shiftPointList (GA_Size aoffset)
 
void shiftPrimitiveList (GA_Size aoffset)
 
void reversePoints (GA_IndexMap &map)
 
void reversePrims (GA_IndexMap &map)
 
void reversePoints (GA_IndexMap &map, const GA_Range &range)
 
void reversePrims (GA_IndexMap &map, const GA_Range &range)
 
void reversePointList ()
 
void reversePrimitiveList ()
 
void proximityPoints (GA_IndexMap &points, const UT_Vector3 &point)
 
void proximityPrims (GA_IndexMap &primitives, const UT_Vector3 &point)
 
void proximityPoints (GA_IndexMap &points, const GA_Range &range, const UT_Vector3 &point)
 
void proximityPrims (GA_IndexMap &primitives, const GA_Range &range, const UT_Vector3 &point)
 
void proximityToPointList (const UT_Vector3 &point)
 
void proximityToPrimitiveList (const UT_Vector3 &point)
 
void vertexOrder (GA_IndexMap &points)
 
void vertexOrder (GA_IndexMap &points, const GA_Range &range)
 
void sortByVertexOrder ()
 
GEO_Hullgordon (GEO_SurfaceType surftype, int accurate, const GA_PrimitiveGroup &ufaces, const GA_PrimitiveGroup &vfaces, int reparameterize=0)
 
GEO_Hullgordon (GEO_SurfaceType surftype, int accurate, const UT_Array< GEO_Primitive * > &uprims_in, const UT_Array< GEO_Primitive * > &vprims_in, GU_SkinCache &skin_cache, int reparameterize=0)
 
GEO_Hullskin (const GA_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_Array< 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)
 
void loft (GU_LoftParms &p, const GA_PointGroup &g1, const GA_PointGroup &g2)
 
void loft (GU_LoftParms &p, const GA_PrimitiveGroup *group=0)
 
GEO_CurveinterpCurveBreakpoints (const GEO_Face &face, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD)
 
GEO_CurveinterpCurveBreakpoints (const GA_OffsetList &point_offsets, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, int wrapped=0, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD)
 
GEO_CurveinterpCurveBreakpoints (const UT_Vector4Array &v4Data, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, int wrapped=0, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD, const bool elevate_order_if_required=true)
 
GEO_CurveinterpCurveGlobal (const GEO_Face &face, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType knotSpaceType=GA_KNOT_SPACE_AVERAGING)
 
GEO_CurveinterpCurveGlobal (const GA_OffsetList &point_offsets, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, int wrapped=0, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType knotSpaceType=GA_KNOT_SPACE_AVERAGING)
 
GEO_CurveinterpCurveGlobal (const GA_Range &point_range, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, int wrapped=0, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType knotSpaceType=GA_KNOT_SPACE_AVERAGING)
 
GEO_CurveinterpCurveGlobal (const UT_Vector4Array &v4Data, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, int wrapped=0, GA_ParameterizationType parmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType knotSpaceType=GA_KNOT_SPACE_AVERAGING, const bool elevate_order_if_required=true)
 
GEO_CurveinterpCurveLocal (const GEO_Face &face, const GA_PrimitiveTypeId &type=GEO_PRIMBEZCURVE, int order=4, int corner=0)
 
GEO_CurveinterpCurveLocal (const UT_Array< GA_Offset > &goData, const GA_PrimitiveTypeId &type=GEO_PRIMBEZCURVE, int order=4, int wrapped=0, int corner=0)
 
GEO_CurveinterpCurveLocal (const UT_Vector4Array &v4Data, const GA_PrimitiveTypeId &type=GEO_PRIMBEZCURVE, int order=4, int wrapped=0, int corner=0)
 
GEO_TPSurfinterpSurfGlobal (const GEO_Hull &mesh, const GA_PrimitiveTypeId &type=GEO_PRIMNURBSURF, int uOrder=4, int vOrder=4, GEO_SurfaceType sType=GEO_PATCH_QUADS, GA_ParameterizationType uParmType=GA_PARAMETERIZATION_CHORD, GA_ParameterizationType vParmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType uKnotSpaceType=GA_KNOT_SPACE_AVERAGING, GA_KnotSpaceType vKnotSpaceType=GA_KNOT_SPACE_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
 
GEO_TPSurfinterpSurfGlobal (const GA_OffsetMatrix &goMesh, const GA_PrimitiveTypeId &type=GEO_PRIMNURBSURF, int uOrder=4, int vOrder=4, bool uWrapped=false, bool vWrapped=false, GEO_SurfaceType sType=GEO_PATCH_QUADS, GA_ParameterizationType uParmType=GA_PARAMETERIZATION_CHORD, GA_ParameterizationType vParmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType uKnotSpaceType=GA_KNOT_SPACE_AVERAGING, GA_KnotSpaceType vKnotSpaceType=GA_KNOT_SPACE_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
 
GEO_TPSurfinterpSurfBreakpoints (const GEO_Hull &mesh, const GA_PrimitiveTypeId &type=GEO_PRIMNURBSURF, int uOrder=4, int vOrder=4, GEO_SurfaceType sType=GEO_PATCH_QUADS, GA_ParameterizationType uParmType=GA_PARAMETERIZATION_CHORD, GA_ParameterizationType vParmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType uKnotSpaceType=GA_KNOT_SPACE_AVERAGING, GA_KnotSpaceType vKnotSpaceType=GA_KNOT_SPACE_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
 
GEO_TPSurfinterpSurfBreakpoints (const GA_OffsetMatrix &goMesh, const GA_PrimitiveTypeId &type=GEO_PRIMNURBSURF, int uOrder=4, int vOrder=4, bool uWrapped=false, bool vWrapped=false, GEO_SurfaceType sType=GEO_PATCH_QUADS, GA_ParameterizationType uParmType=GA_PARAMETERIZATION_CHORD, GA_ParameterizationType vParmType=GA_PARAMETERIZATION_CHORD, GA_KnotSpaceType uKnotSpaceType=GA_KNOT_SPACE_AVERAGING, GA_KnotSpaceType vKnotSpaceType=GA_KNOT_SPACE_AVERAGING, const UT_Vector *uParmValues=0, const UT_Vector *vParmValues=0)
 
GEO_CurveapproxCurveGlobal (const GEO_Face &face, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, float tol=1e-1F, float smooth=0.0F, int noMultipleKnots=1)
 
GEO_CurveapproxCurveGlobal (const UT_Vector4Array &v4Data, const GA_PrimitiveTypeId &type=GEO_PRIMNURBCURVE, int order=4, int wrapped=0, float tol=1e-1F, float smooth=0.0F, int noMultipleKnots=1)
 
GEO_TPSurfapproxSurfGlobal (const GEO_Hull &mesh, const GA_PrimitiveTypeId &type=GEO_PRIMNURBSURF, 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)
 
GEO_TPSurfapproxSurfGlobal (const GA_OffsetMatrix &gpMesh, const GA_PrimitiveTypeId &type=GEO_PRIMNURBSURF, 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 GA_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 GA_PrimitiveGroup *primGroup=0)
 
void subdivide (float *uunit, int ulen, float *vunit, int vlen, int arcspacing=0, const GA_PrimitiveGroup *primGroup=0)
 
int extract (float *uunit, int ulen, float *vunit, int vlen, const GA_PrimitiveGroup *primGroup=0, GA_PointGroup *newPoints=0, int op=0, int keepOriginal=0, int atbreakpoints=0, int use_arc_length=0, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 op = {0 = isoparms, 1 = points, 2 = profiles} More...
 
void extractIsoParms (float *uunit, int ulen, float *vunit, int vlen, GA_PrimitiveGroup *newPrims=0, const GA_PrimitiveGroup *primGroup=0, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
void extractPoints (float *uunit, int ulen, float *vunit, int vlen, GA_PointGroup *newPoints=0, const GA_PrimitiveGroup *primGroup=0, bool use_arc_length=false, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
void extractProfiles (float *uunit, int ulen, float *vunit, int vlen, const GA_PrimitiveGroup *primGroup=0, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
void extractIsoParmsAtBreak (float *uunit, int ulen, float *vunit, int vlen, GA_PrimitiveGroup *newPrims=0, const GA_PrimitiveGroup *primGroup=0, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
void extractPointsAtBreak (float *uunit, int ulen, float *vunit, int vlen, GA_PointGroup *newPoints=0, const GA_PrimitiveGroup *primGroup=0, bool use_arc_length=false, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
void extractProfilesAtBreak (float *uunit, int ulen, float *vunit, int vlen, const GA_PrimitiveGroup *primGroup=0, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
int cut (float *uunit, int ulen, float *vunit, int vlen, const GA_PrimitiveGroup *primGroup=0, int keepin=1, int keepout=0, int atbreakpoints=0, int allU=0, int allV=0, int use_arc_length=0, DomainScaleAttribs uscale=DomainScaleAttribs(), DomainScaleAttribs vscale=DomainScaleAttribs())
 
int commonFaceConfig (const GA_PrimitiveGroup &faceGroup, GA_PrimCompat::TypeMask &type, int &order, bool &open, bool &ends) const
 
int commonFaceConfig (const UT_Array< GEO_Primitive * > &faces_in, GA_PrimCompat::TypeMask &type, int &order, bool &open, bool &ends) const
 
int commonSurfaceConfig (const GA_PrimitiveGroup &surfs, GA_PrimCompat::TypeMask &type, int &orderu, int &orderv, bool &openu, bool &openv, bool &endsu, bool &endsv) const
 
int makeFacesCompatible (const GA_PrimitiveGroup &infaces, GA_PrimitiveGroup &outfaces, bool mustopen=false, bool mustends=false, bool nonrational=false, GA_PrimCompat::TypeMask *extratype=0, bool equalcvs=true)
 
int makeFacesCompatible (const UT_Array< GEO_Primitive * > &prims_in, UT_Array< GEO_Primitive * > &prims_out, bool mustopen=false, bool mustends=false, bool nonrational=false, GA_PrimCompat::TypeMask *extratype=0, bool equalcvs=true)
 
int makeFacesCompatible (const GA_PrimitiveGroup &infacesU, const GA_PrimitiveGroup &infacesV, GA_PrimitiveGroup &outfacesU, GA_PrimitiveGroup &outfacesV, bool mustopen=false, bool mustends=false, bool nonrational=false, GA_PrimCompat::TypeMask *extratype=0, bool equalcvs=true)
 
int makeFacesCompatible (const UT_Array< GEO_Primitive * > &ufaces_array, const UT_Array< GEO_Primitive * > &vfaces_array, UT_Array< GEO_Primitive * > &ucfaces_array, UT_Array< GEO_Primitive * > &vcfaces_array, bool mustopen=false, bool mustends=false, bool nonrational=false, GA_PrimCompat::TypeMask *extratype=0, bool equalcvs=true)
 
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
 
GA_Size removeZeroAreaFaces (GA_PrimitiveGroup *grp, bool ignoreOpenFaces=false, float tolerance=0.001F, bool onlyPolys=true)
 
GA_Size removeZeroAreaFaces (const UT_IntArray &primlist, bool ignoreOpenFaces=false, float tolerance=0.001F, bool onlyPolys=true)
 
void divideEdges (const GA_EdgeGroup &edgegroup, int numdivs=1, bool applytoall=true, bool use_shared_points=false, GA_EdgeGroup *outedges=0, UT_Array< GA_Offset > *new_points=0, bool preserve_edge_dir=false)
 
void divideEdges (const GA_EdgeGroup &edgegroup, int numdivs, bool applytoall, bool use_shared_points, GA_EdgeGroup *outedges, UT_Array< GA_Offset > *new_points, bool preserve_edge_dir, float fraction)
 
- Public Member Functions inherited from GEO_Detail
 GEO_Detail (GA_PrimitiveFactory &factory, bool full_topology=true)
 
 ~GEO_Detail () override
 
void clearAndDestroy ()
 Clear all the points/primitives out of this detail. More...
 
void merge (const GEO_Detail &src, const GA_PrimitiveGroup *primGrp=nullptr, bool mergePrimGroup=true, bool insertPrimsAtHead=false, bool keep_internal_groups=true, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP)
 
void mergePoints (const GEO_Detail &src, const GA_PointGroup *ptGrp=0, bool merge_groups=true, bool keep_internal_groups=true)
 
void mergePoints (const GEO_Detail &src, const GA_Range &points)
 Merge only a group of points. More...
 
void mergePrimitives (const GEO_Detail &src, const GA_Range &prims)
 Merge only a group of prims. More...
 
void merge (const GEO_Primitive &sprim, bool insertPrimAtHead=false)
 Merge a single primitive into this detail. More...
 
bool copy (const GEO_Detail &src, GEO_CopyMethod method=GEO_COPY_ONCE, bool this_parameter_is_ignored=true, bool keep_internal_groups=true, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP)
 
void collapseIndexAttributes ()
 
void mirror (GEO_MirrorParms &parms)
 Mirrors a portion of the gdp across some plane. More...
 
template<typename FLOAT_T >
void transform (const UT_Matrix4T< FLOAT_T > &mat, const GA_Range &primitives, bool just_P, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flip_vector=true, bool update_ptnormals=false, GEO_Delta *geodelta=nullptr, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void transform (const UT_Matrix4T< FLOAT_T > &mat, const GA_Range &primitives, const GA_Range &points, bool just_P, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flip_vector=true, bool update_ptnormals=false, GEO_Delta *geodelta=nullptr, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void transform (const UT_Matrix4T< FLOAT_T > &mat, const GA_PrimitiveGroup *primGrp=0, const GA_PointGroup *pointClosure=0, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void transformRange (const UT_Matrix4T< FLOAT_T > &mat, GA_Index min_ptnum, GA_Index max_ptnum, GA_Index min_primnum, GA_Index max_primnum, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 Don't use update_ptnormals, except for compatibility; use updateaffectednormals. More...
 
template<typename FLOAT_T >
void translate (const UT_Vector3T< FLOAT_T > &delta, const GA_PrimitiveGroup *primGrp=0, const GA_PointGroup *pointClosure=0, bool check_pasting=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 Don't use update_ptnormals, except for compatibility; use updateaffectednormals. More...
 
template<typename FLOAT_T >
void transformPoints (const UT_Matrix4T< FLOAT_T > &mat, const GA_Range &points, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void transformPoints (const UT_Matrix4T< FLOAT_T > &mat, const GA_PointGroup *pointGroup=0, const GA_PrimitiveGroup *primClosure=0, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T , bool INVERT = false>
void transformPointsByAttribute (const GA_ROHandleT< UT_Matrix4T< FLOAT_T > > &xformhandle, const GA_Range &points, bool keep_vector_lengths=true, bool updateaffectednormals=true, const char *attribpattern=nullptr)
 
template<typename FLOAT_T , bool INVERT = false>
void transformPointsByAttribute (const GA_ROHandleT< UT_Matrix3T< FLOAT_T > > &xformhandle, const GA_Range &points, bool keep_vector_lengths=true, bool updateaffectednormals=true, const char *attribpattern=nullptr)
 
template<typename FLOAT_T , bool INVERT = false>
void transformPointsByAttribute (const GA_ROHandleT< UT_QuaternionT< FLOAT_T > > &xformhandle, const GA_Range &points, bool keep_vector_lengths=true, bool updateaffectednormals=true, const char *attribpattern=nullptr)
 
template<typename FLOAT_T , bool INVERT = false>
void translatePointsByAttribute (const GA_ROHandleT< UT_Vector3T< FLOAT_T > > &xformhandle, const GA_Range &points, bool keep_vector_lengths=true, bool updateaffectednormals=true, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void translatePoints (const UT_Vector3T< FLOAT_T > &delta, const GA_PointGroup *pointGroup=0, bool check_pasting=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 Don't use update_ptnormals, except for compatibility; use updateaffectednormals. More...
 
template<typename FLOAT_T >
void transformEdges (const UT_Matrix4T< FLOAT_T > &mat, const GA_EdgeGroup *edgegrp=0, const GA_PrimitiveGroup *primclosure=0, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void translateEdges (const UT_Vector3T< FLOAT_T > &delta, const GA_EdgeGroup *edgegrp=0, bool check_pasting=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 Don't use update_ptnormals, except for compatibility; use updateaffectednormals. More...
 
template<typename FLOAT_T >
void transformBreakpoints (const UT_Matrix4T< FLOAT_T > &mat, const GA_BreakpointGroup *grp=0, bool just_P=false, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void translateBreakpoints (const UT_Vector3T< FLOAT_T > &delta, const GA_BreakpointGroup *grp=0, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 Don't use update_ptnormals, except for compatibility; use updateaffectednormals. More...
 
template<typename FLOAT_T >
void transformGroup (const UT_Matrix4T< FLOAT_T > &mat, const GA_Group &grp, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, const GA_PointGroup *ptclosure=0, const GA_PrimitiveGroup *primclosure=0, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 
template<typename FLOAT_T >
void translateGroup (const UT_Vector3T< FLOAT_T > &delta, const GA_Group &grp, bool check_pasting=true, const GA_PointGroup *ptclosure=0, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr)
 Don't use update_ptnormals, except for compatibility; use updateaffectednormals. More...
 
void visualizeSoftPoints (const GEO_Rolloff &rolloff, const GA_PointGroup *ptgroup, UT_ColorRamp ramp)
 
void computeSoftPointFalloff (const bool connected, const fpreal radius, const GEO_Rolloff *rolloff, const GA_PointGroup *ptgroup, const SoftSymmetryParms *symmetry, const GA_RWHandleF &falloff, const GA_ROHandleV3 &p_attrib, GA_PointGroup *affected_group=nullptr, GA_RWHandleID *source_points=nullptr) const
 
void computeNormalInternal (GA_Offset ptoff, UT_Vector3 &nml)
 
void computeNormal (const GEO_Primitive &prim, UT_Vector3 &nml) const
 This is the same as prim.computeNormal() More...
 
void computeNormal (const GA_Edge &edge, UT_Vector3 &nml) const
 
void computeNormal (const GA_Breakpoint &bkpt, UT_Vector3 &nml) const
 
void computeNormalAndTangents (const GA_Breakpoint &bkpt, UT_Vector3 &nml, UT_Vector3 *u_tangent, UT_Vector3 *v_tangent, bool normalize) const
 
void normalTranslatePoints (float length=1.0F, int check_pasting=1, const GA_PointGroup *grp=0, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void normalTranslatePrimitives (float length=1.0F, int check_pasting=1, const GA_PrimitiveGroup *grp=0, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void normalTranslate (const GA_PointGroup &grp, float length=1.0F, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void normalTranslate (const GA_PrimitiveGroup &grp, float length=1.0F, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void normalTranslate (const GA_EdgeGroup &grp, float length=1.0F, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void normalTranslate (const GA_BreakpointGroup &grp, float length=1.0F, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void normalTranslateGroup (const GA_Group &grp, float length=1.0F, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
void updateAffectedNormals (const GA_Range &ptrange, GEO_Delta *geodelta=0, bool allsametransform=false)
 
template<typename FLOAT_T >
void slideTransformEdges (const UT_Matrix4T< FLOAT_T > &mat, const GA_EdgeGroup *edgegrp=0, const GA_PrimitiveGroup *primclosure=0, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false)
 
template<typename FLOAT_T >
void slideTransformPoints (const UT_Matrix4T< FLOAT_T > &mat, const GA_PointGroup *ptgrp=0, const GA_PrimitiveGroup *primclosure=0, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, GEO_PointSliderCache *slider_cache=0)
 
template<typename FLOAT_T >
void slideTransformPrimitives (const UT_Matrix4T< FLOAT_T > &mat, const GA_PrimitiveGroup *primgrp=0, const GA_PointGroup *ptclosure=0, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, GEO_PointSliderCache *slider_cache=0)
 
template<typename FLOAT_T >
void slideTransformGroup (const UT_Matrix4T< FLOAT_T > &mat, const GA_Group &grp, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, const GA_PointGroup *ptclosure=0, const GA_PrimitiveGroup *primclosure=0, bool update_ptnormals=false, GEO_Delta *geodelta=0, bool updateaffectednormals=false, GEO_PointSliderCache *slider_cache=0)
 
void softTransformPoints (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, float prx, float pry, float prz, const GEO_Rolloff &rolloff, const GA_PointGroup *ptgroup=0, const SoftSymmetryParms *symmetry=0, int just_P=0, int keep_vector_lengths=1, int check_pasting=1, int neg_determinant_flipvector=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTransformEdges (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, float prx, float pry, float prz, const GEO_Rolloff &rolloff, const GA_EdgeGroup *edgegrp=0, const SoftSymmetryParms *symmetry=0, int just_P=0, int keep_vector_lengths=1, int check_pasting=1, int neg_determinant_flipvector=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTransformPoints (const LocalXformContextF *local, 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, float prx, float pry, float prz, const GEO_Rolloff &rolloff, const GA_PointGroup *ptgroup=0, const SoftSymmetryParms *symmetry=0, int just_P=0, int keep_vector_lengths=1, int check_pasting=1, int neg_determinant_flipvector=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTransformEdges (const LocalXformContextF *local, 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, float prx, float pry, float prz, const GEO_Rolloff &rolloff, const GA_EdgeGroup *edgegrp=0, const SoftSymmetryParms *symmetry=0, int just_P=0, int keep_vector_lengths=1, int check_pasting=1, int neg_determinant_flipvector=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTranslatePoints (const UT_Vector3 &delta, const GEO_Rolloff &rolloff, const GA_PointGroup *ptgroup=0, const SoftSymmetryParms *symmetry=0, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softTranslateEdges (const UT_Vector3 &delta, const GEO_Rolloff &rolloff, const GA_EdgeGroup *edgegrp=0, const SoftSymmetryParms *symmetry=0, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=nullptr, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
void softNormalTranslatePoints (float distance, const GEO_Rolloff &rolloff, const GA_PointGroup *ptgroup=nullptr, const SoftSymmetryParms *symmetry=nullptr, int along_lead_normal=1, int check_pasting=1, int update_ptnormals=0, GEO_Delta *geodelta=nullptr, bool updateaffectednormals=false, const GA_RWHandleF *falloff_output=nullptr, bool *falloff_written=nullptr)
 
GA_Attributenormal (bool internal=false, const GA_PrimitiveGroup *primgroup=nullptr)
 
void normal (UT_Vector3Array &output, bool use_internaln=true) const
 Return normals computed from the geometry, ignoring the "N" attribute. More...
 
void normal (UT_Vector3DArray &output, bool use_internaln=true) const
 
void normal (const GA_RWHandleV3 &attrib, const GA_PrimitiveGroup *primgroup=nullptr) const
 
void getVertexNormals (UT_Vector3Array &output) const
 Add and compute vertex normal attributes. Returns the normals. More...
 
bool getCaptureRegionRootPath (UT_String &root_path, CaptureType t=CAPTURE_BONE) const
 
bool setCaptureRegionRootPath (const UT_String &root_path, CaptureType t=CAPTURE_BONE)
 
int getCaptureRegionIndex (const UT_String &cregion_name, CaptureType t=CAPTURE_BONE)
 
int addCaptureRegion (const UT_String &cregion_name, const UT_Matrix4 &parent_xform, const GEO_Detail *tube_gdp)
 
int addCaptureRegion (const UT_String &cregion_name, const UT_Matrix4 &xform, float tcap, float bcap, float taperx, float taperz)
 
int addCaptureRegion (const UT_String &cregion_name, CaptureType type)
 
int removeCaptureRegion (const UT_String &cregion_name, CaptureType t=CAPTURE_BONE)
 
void setCaptureWeight (int cregion_index, float weight, const GA_PointGroup *ptgroup=nullptr, GEO_Delta *geodelta=nullptr, bool add_weight=false, bool clamp_negative=false, bool normalizeweight=false, CaptureType t=CAPTURE_BONE)
 Set the capture weight on a group of points. More...
 
void setCaptureWeight (int cregion_index, float weight, GA_Offset ptoff, GEO_Delta *geodelta=nullptr, bool add_weight=false, bool clamp_negative=false, bool normalizeweight=false, CaptureType t=CAPTURE_BONE)
 Set the capture weight on a point. More...
 
float getCaptureWeight (int cregion_index, GA_Offset ptoff, CaptureType t=CAPTURE_BONE) const
 Get the capture weight of a point. More...
 
bool addAverageCaptureWeight (const GA_PointGroup *ptgroup, const UT_String &root_path, UT_StringMap< float * > &averages) const
 Get the average capture weight of a set of points. More...
 
void getCaptureWeights (GA_Offset ptoff, UT_IntArray &regions, UT_FloatArray &weights, CaptureType t=CAPTURE_BONE) const
 
void clearCaptureWeights (GA_Offset ptoff, CaptureType t=CAPTURE_BONE)
 
void colorPointsByCaptureWeight (const UT_Array< const UT_Vector3 * > &colors, const UT_Vector3 &zero_weight_color, CaptureType t=CAPTURE_BONE, VisualizationType vistype=VISTYPE_MULTIPLE, UT_ColorRamp singlevismode=UT_COLORRAMP_FALSE)
 Color points according to their capture (normalized) weight. More...
 
void colorPointsByCaptureWeight (const UT_Array< const UT_Vector3 * > &colors, const UT_Vector3 &zero_weight_color, CaptureType t, VisualizationType vistype, UT_ColorRamp singlevismode, bool normalize)
 
void normalizeCaptureWeights (const GA_PointGroup *ptgroup=nullptr, CaptureType t=CAPTURE_BONE, fpreal tolerance=SYS_FTOLERANCE_R)
 
void clampCaptureWeights (const GA_PointGroup *ptgroup=nullptr, bool clamp_low_flag=true, float low_threshold=0.0f, float low_val=0.0f, bool clamp_hi_flag=false, float hi_threshold=1.0f, float hi_val=1.0f, CaptureType t=GEO_Detail::CAPTURE_BONE)
 
void normalizeRelativeCaptureWeights (int idx, GA_Offset ptoff, GEO_Delta *delta=nullptr)
 This specifies a capture index that is exempt from normalization. More...
 
GA_Offset insertPointOffset (GA_Index beforeWhich=GA_INVALID_INDEX)
 
SYS_FORCE_INLINE GA_Offset appendPointOffset ()
 
GA_Offset insertPointCopy (GA_Offset src, GA_PointWrangler &wrangler, GA_Index beforeWhich=GA_INVALID_INDEX)
 
GA_Offset insertPointCopy (GA_Offset src, GA_Index beforeWhich=GA_INVALID_INDEX)
 
GA_Offset appendPointCopy (GA_Offset src, GA_PointWrangler &wrangler)
 Append a point, copying data from the source point. More...
 
GA_Offset appendPointCopy (GA_Offset src)
 
SYS_FORCE_INLINE GA_Size deletePoints (const GA_PointGroup &point_group, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES)
 
GEO_PrimitiveinsertPrimitive (const GA_PrimitiveTypeId &type, const GEO_Primitive *beforeWhich=nullptr)
 
SYS_FORCE_INLINE GEO_PrimitiveappendPrimitive (const GA_PrimitiveTypeId &type)
 
GA_Size deletePrimitives (const GA_PrimitiveGroup &primGrp, bool and_points=false)
 
GA_Size deletePrimitives (const UT_Array< GEO_Primitive * > &prims_in, bool and_points=false)
 
virtual void deleteBreakpoints (const GA_BreakpointGroup &bkptgrp)
 
bool getBBox (UT_BoundingBox *bbox, const GA_PrimitiveGroup *g=nullptr) const
 
bool getBBox (UT_BoundingBox &bbox, const UT_Matrix4R &transform, const GA_PrimitiveGroup *g=nullptr) const
 
bool getVisibleBBox (UT_BoundingBox *bbox, const UT_Matrix4R *transform=nullptr, const GA_PrimitiveGroup *g=nullptr) const
 
bool getBSphere (UT_BoundingSphere *bsphere, const GA_PrimitiveGroup *g=nullptr, bool accurate_bounds=false) const
 
bool getPointBBox (UT_BoundingBox *bbox, const GA_PointGroup *g=nullptr) const
 
bool getPointBBox (UT_BoundingBox &bbox, const UT_Matrix4R &transform, const GA_PointGroup *g=nullptr) const
 
bool getPointBSphere (UT_BoundingSphere *bsphere, const GA_PointGroup *g=nullptr, bool accurate_bounds=false) const
 
bool getVertexBBox (UT_BoundingBox *bbox, const GA_VertexGroup *g=nullptr) const
 
bool getVertexBBox (UT_BoundingBox &bbox, const UT_Matrix4R &transform, const GA_VertexGroup *g=nullptr) const
 
bool getEdgeBBox (UT_BoundingBox &bbox, const GA_EdgeGroup &grp) const
 
bool getEdgeBBox (UT_BoundingBox &bbox, const UT_Matrix4R &transform, const GA_EdgeGroup &grp) const
 
bool getEdgeBSphere (UT_BoundingSphere &bsphere, const GA_EdgeGroup &grp, bool accurate_bounds=false) const
 
bool getBreakpointBBox (UT_BoundingBox &bbox, const GA_BreakpointGroup &grp) const
 
bool getBreakpointBBox (UT_BoundingBox &bbox, const UT_Matrix4R &transform, const GA_BreakpointGroup &grp) const
 
bool getBreakpointBSphere (UT_BoundingSphere &bsphere, const GA_BreakpointGroup &grp, bool accurate_bounds=false) const
 
bool getGroupBBox (UT_BoundingBox *bbox, const GA_Group *grp) const
 
bool getGroupBBox (UT_BoundingBox &bbox, const UT_Matrix4R &transform, const GA_Group *grp) const
 
bool getGroupBSphere (UT_BoundingSphere *bsphere, const GA_Group *grp, bool accurate_bounds) const
 
bool getPointAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_PointGroup *g=nullptr) const
 
bool getPointAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_PrimitiveGroup &g) const
 
bool getPointAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_EdgeGroup &g) const
 
bool getPointAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_VertexGroup &g) const
 
template<typename T >
bool getPointAttribCentroid (UT_Vector3T< T > &centroid, const GA_Attribute &attrib, const GA_PointGroup *grp=nullptr) const
 
bool getPointAttribGroupBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_Group *grp) const
 
bool getVertexAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_PointGroup *g=nullptr) const
 
bool getVertexAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_PrimitiveGroup &g) const
 
bool getVertexAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_EdgeGroup &g) const
 
bool getVertexAttribBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_VertexGroup &g) const
 
bool getVertexAttribGroupBBox (const UT_StringRef &name, UT_BoundingBox *bbox, const GA_Group *grp) const
 
void copyVertexAttributes (GEO_Vertex dest, const GEO_Vertex &src) const
 Copy vertex attributes from source to destination. More...
 
void copyVertexAttributes (GA_Offset dest, GA_Offset src, GA_VertexWrangler &wrangler) const
 
void copyPointVertexAttributes (GEO_Vertex dest, const GEO_Vertex &src, bool copy_point_P=true) const
 Copy vertex AND point attributes. More...
 
void copyPointVertexAttributes (GA_Offset dest_vtx, GA_Offset src_vtx, const GA_AttributeRefMap &vertex_attribs, const GA_AttributeRefMap &point_attribs)
 
void copyPointVertexAttributes (GA_Offset dest_vtx, GA_Offset src_vtx, GA_VertexWrangler &vertex_wrangler, GA_PointWrangler &point_wrangler, bool copy_point_P)
 
void copyFullVertex (GEO_Vertex dest, const GEO_Vertex &src) const
 Copy vertex attributes AND change the point reference of the vertex. More...
 
void copyFullVertex (GA_Offset dest_vtx, GA_Offset src_vtx, GA_VertexWrangler &vertex_wrangler)
 Copy vertex attributes AND change the point reference of the vertex. More...
 
void copyPrimitiveAttributes (GEO_Primitive &dest, const GEO_Primitive &src)
 Copy primitive attributes. More...
 
void copyPrimitiveGroups (GEO_Primitive &dest, const GEO_Primitive &src) const
 
void copyVertex (GEO_Vertex dest, const GEO_Vertex &src, int shallow=0) const
 
void copyVertex (GA_Offset dest, GA_Offset src, GA_AttributeRefMap &vertex_attribs, GA_AttributeRefMap *point_attribs)
 
void copyVertex (GA_Offset dest, GA_Offset src, GA_VertexWrangler &vertex_wrangler, GA_PointWrangler *point_wrangler)
 
void copyVertex (GA_Offset dest, GA_Offset src, GA_VertexWrangler &vertex_wrangler, GA_PointWrangler &point_wrangler, bool copy_point_p)
 
void fixSplineWeights ()
 
GA_AttributeaddNormalAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddTextureAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddVelocityAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddAngularVelocityAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddOrientAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddAlphaAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddComAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddDiffuseAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddDistanceAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddLODAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddRestAttribute (GA_AttributeOwner who, GA_Storage s=GA_STORE_INVALID, const UT_StringHolder &name=UT_StringHolder::theEmptyString)
 
GA_AttributeaddTubeCaptureAttribute (GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddCaptureFrameAttribute (CaptureType t=CAPTURE_BONE, GA_Storage s=GA_STORE_INVALID)
 Add the detail's capture frame attribute for capture type t. More...
 
GA_AttributeaddCaptureSkelRootAttribute (CaptureType t=CAPTURE_BONE)
 Add the bone capture skeleton root detail attribute. More...
 
GA_AttributeaddPtIndexPairAttribute (const UT_StringHolder &name, geo_NPairs n_pairs, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddIndexPairAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, int n_pairs, GA_Storage s=GA_STORE_INVALID)
 
GA_AttributeaddPointCaptureAttribute (geo_NPairs n_pairs, CaptureType t=CAPTURE_BONE, GA_Storage s=GA_STORE_INVALID)
 Add the (index, weight) point attribute for capture type t. More...
 
GA_AttributeaddPointCaptureAlphaAttribute (float dflt, GA_Storage s=GA_STORE_INVALID)
 Add the bone capture alpha point attribute. More...
 
const GA_AttributefindNormalAttribute (GA_AttributeOwner who) const
 
GA_AttributefindNormalAttribute (GA_AttributeOwner who)
 
const GA_AttributefindTextureAttribute (GA_AttributeOwner who) const
 
GA_AttributefindTextureAttribute (GA_AttributeOwner who)
 
const GA_AttributefindVelocityAttribute (GA_AttributeOwner who) const
 
GA_AttributefindVelocityAttribute (GA_AttributeOwner who)
 
const GA_AttributefindAlphaAttribute (GA_AttributeOwner who) const
 
GA_AttributefindAlphaAttribute (GA_AttributeOwner who)
 
const GA_AttributefindComAttribute (GA_AttributeOwner who) const
 
GA_AttributefindComAttribute (GA_AttributeOwner who)
 
const GA_AttributefindDiffuseAttribute (GA_AttributeOwner who) const
 
GA_AttributefindDiffuseAttribute (GA_AttributeOwner who)
 
const GA_AttributefindDistanceAttribute (GA_AttributeOwner who) const
 
GA_AttributefindDistanceAttribute (GA_AttributeOwner who)
 
const GA_AttributefindLODAttribute (GA_AttributeOwner who) const
 
GA_AttributefindLODAttribute (GA_AttributeOwner who)
 
const GA_AttributefindRestAttribute (GA_AttributeOwner who) const
 
GA_AttributefindRestAttribute (GA_AttributeOwner who)
 
const GA_AttributefindTubeCaptureAttribute () const
 
GA_AttributefindTubeCaptureAttribute ()
 
GA_ROHandleS findMaterialAttribute (GA_AttributeOwner who) const
 
const GA_AttributefindInternalNormalAttribute () const
 
GA_AttributefindInternalNormalAttribute ()
 
const GA_AttributefindCaptureFrameAttribute (CaptureType t=CAPTURE_BONE) const
 
GA_AttributefindCaptureFrameAttribute (CaptureType t=CAPTURE_BONE)
 
const GA_AttributefindCaptureSkelRootAttribute (CaptureType t=CAPTURE_BONE) const
 Find the offset for the bone capture skeleton root detail attribute. More...
 
GA_AttributefindCaptureSkelRootAttribute (CaptureType t=CAPTURE_BONE)
 
const GA_AttributefindPointCaptureAttribute (CaptureType t=CAPTURE_BONE) const
 
GA_AttributefindPointCaptureAttribute (CaptureType t=CAPTURE_BONE)
 
const GA_AttributefindPointCaptureAlphaAttribute () const
 Find the offset for the bone capture alpha point attribute. More...
 
GA_AttributefindPointCaptureAlphaAttribute ()
 
const GA_AttributefindPtIndexPairAttribute (const UT_StringRef &name) const
 Find the offset for a custom (index, weight) point attribute. More...
 
GA_AttributefindPtIndexPairAttribute (const UT_StringRef &name)
 
void destroyNormalAttribute (GA_AttributeOwner who)
 
void destroyInternalNormalAttribute ()
 
void destroyTextureAttribute (GA_AttributeOwner who)
 
void destroyVelocityAttribute (GA_AttributeOwner who)
 
void destroyAlphaAttribute (GA_AttributeOwner who)
 
void destroyComAttribute (GA_AttributeOwner who)
 
void destroyDiffuseAttribute (GA_AttributeOwner who)
 
void destroyDistanceAttribute (GA_AttributeOwner who)
 
void destroyLODAttribute (GA_AttributeOwner who)
 
void destroyRestAttribute (GA_AttributeOwner who)
 
void destroyTubeCaptureAttribute ()
 
void destroyCaptureFrameAttribute (CaptureType t=CAPTURE_BONE)
 Destroy the detail's capture frame attribute for capture type t. More...
 
void destroyCaptureSkelRootAttribute (CaptureType t=CAPTURE_BONE)
 Destroy the bone capture skeleton root detail attribute. More...
 
void destroyPointCaptureAttribute (CaptureType t=CAPTURE_BONE)
 
void destroyPointCaptureAlphaAttribute ()
 Destroy the bone capture alpha point attribute. More...
 
void destroyPtIndexPairAttribute (const UT_StringRef &name)
 Destroy a custom (index, weight) point attribute. More...
 
bool getMetaRestAnchorPath (UT_String &anchorPath) const
 
UT_StringHolder getStdAttributeName (GEO_Standard_Attributes name, int layer=-1) const
 
int getAttributeLayer (const char *attr_name) const
 
int getCurrentLayer () const
 These handle layers: More...
 
void setCurrentLayer (int layer)
 
void setNumLayers (int numlayer)
 
int getNumLayers () const
 
void setLayerMerge (int preclear, int mask, int srcblend, int dstblend)
 These get and set the CURRENT layer's merge mode: More...
 
void getLayerMerge (int &preclear, int &mask, int &srcblend, int &dstblend) const
 
void addVariableName (const char *attr, const char *varname)
 
void removeVariableName (const char *varname)
 
void getVariableNameMap (UT_String &result) const
 
void traverseVariableNames (int(*function)(const char *attr, const char *varname, void *data), void *data) const
 Traverses the variable name mappings currently present: More...
 
GA_AttributegrowPointCaptureAttribute (geo_NPairs num_added_pairs, CaptureType t=CAPTURE_BONE)
 increase the memory size of the attribute More...
 
SYS_FORCE_INLINE GA_AttributeaddPointAttrib (const GA_Attribute *src)
 
SYS_FORCE_INLINE GA_AttributeaddPointAttrib (GA_AttributeScope scope, const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE GA_AttributeaddPointAttrib (const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE const
GA_Attribute
findPointAttrib (const GA_Attribute &src) const
 
SYS_FORCE_INLINE GA_AttributefindPointAttrib (const GA_Attribute &src)
 
SYS_FORCE_INLINE const
GA_Attribute
findPointVectorAttrib (GA_AttributeScope s, const UT_StringRef &n) const
 Looks for a 3-float point attribute. More...
 
SYS_FORCE_INLINE const
GA_Attribute
findPointVectorAttrib (const UT_StringRef &n) const
 
SYS_FORCE_INLINE GA_AttributefindPointVectorAttrib (GA_AttributeScope s, const UT_StringRef &n)
 
SYS_FORCE_INLINE GA_AttributefindPointVectorAttrib (const UT_StringRef &n)
 
SYS_FORCE_INLINE void destroyPointAttrib (GA_AttributeScope scope, const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
SYS_FORCE_INLINE void destroyPointAttrib (const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
bool promotePointAttrib (GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE bool promotePointAttrib (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributeaddVertexAttrib (const GA_Attribute *src)
 
SYS_FORCE_INLINE GA_AttributeaddVertexAttrib (GA_AttributeScope scope, const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE GA_AttributeaddVertexAttrib (const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE const
GA_Attribute
findVertexAttrib (const GA_Attribute &src) const
 
SYS_FORCE_INLINE GA_AttributefindVertexAttrib (const GA_Attribute &src)
 
SYS_FORCE_INLINE const
GA_Attribute
findVertexVectorAttrib (GA_AttributeScope s, const UT_StringRef &n) const
 Looks for a 3-float vertex attribute. More...
 
SYS_FORCE_INLINE const
GA_Attribute
findVertexVectorAttrib (const UT_StringRef &n) const
 
SYS_FORCE_INLINE GA_AttributefindVertexVectorAttrib (GA_AttributeScope s, const UT_StringRef &n)
 
SYS_FORCE_INLINE GA_AttributefindVertexVectorAttrib (const UT_StringRef &n)
 
SYS_FORCE_INLINE void destroyVertexAttrib (GA_AttributeScope scope, const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
SYS_FORCE_INLINE void destroyVertexAttrib (const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
bool demoteVertexAttrib (GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE bool demoteVertexAttrib (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributeaddPrimAttrib (const GA_Attribute *src)
 
SYS_FORCE_INLINE GA_AttributeaddPrimAttrib (GA_AttributeScope scope, const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE GA_AttributeaddPrimAttrib (const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE const
GA_Attribute
findPrimAttrib (const GA_Attribute &src) const
 
SYS_FORCE_INLINE GA_AttributefindPrimAttrib (const GA_Attribute &src)
 
SYS_FORCE_INLINE void destroyPrimAttrib (GA_AttributeScope scope, const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
SYS_FORCE_INLINE void destroyPrimAttrib (const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
SYS_FORCE_INLINE GA_AttributeaddGlobalAttrib (const GA_Attribute *src)
 
SYS_FORCE_INLINE GA_AttributeaddGlobalAttrib (GA_AttributeScope scope, const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE GA_AttributeaddGlobalAttrib (const UT_StringHolder &n, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE const
GA_Attribute
findGlobalAttrib (const GA_Attribute &src) const
 
SYS_FORCE_INLINE GA_AttributefindGlobalAttrib (const GA_Attribute &src)
 
SYS_FORCE_INLINE void destroyGlobalAttrib (GA_AttributeScope scope, const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
SYS_FORCE_INLINE void destroyGlobalAttrib (const UT_StringRef &n, const GA_AttributeFilter *filter=nullptr)
 
GEO_PrimList primitives ()
 Query the internal structures: More...
 
const GEO_PrimList primitives () const
 
SYS_FORCE_INLINE const
GA_AttributeDict
pointAttribs () const
 
SYS_FORCE_INLINE const
GA_AttributeDict
primitiveAttribs () const
 
SYS_FORCE_INLINE const
GA_AttributeDict
vertexAttribs () const
 
SYS_FORCE_INLINE const
GA_AttributeDict
attribs () const
 
bool hasMetaPrimitives () const
 
bool hasPastedPrimitives () const
 
bool hasQuadricPrimitives () const
 
bool hasParticlePrimitives () const
 
bool hasVolumePrimitives () const
 
bool hasChannelPrimitives () const
 
bool hasTransformingPrimitives () const
 
bool hasCustomPrimitives () const
 
GA_Size getMetaCount () const
 
GA_Size getPastedCount () const
 
GA_Size getQuadricCount () const
 
GA_Size getParticleCount () const
 
GA_Size getVolumeCount () const
 
bool getStandardAttributes (const char *s, GEO_Standard_Attributes &a)
 
bool mergeCaptureProperties (GA_Attribute *my_atr, const GA_Attribute *src_atr, UT_IntArray &new_indices)
 
GEO_AttributeHandle getPointAttribute (const char *attrib_name) const
 
GEO_AttributeHandle getPointAttribute (const char *attrib_name)
 
GEO_AttributeHandle getPrimAttribute (const char *attrib_name) const
 
GEO_AttributeHandle getPrimAttribute (const char *attrib_name)
 
GEO_AttributeHandle getVertexAttribute (const char *attrib_name) const
 
GEO_AttributeHandle getVertexAttribute (const char *attrib_name)
 
GEO_AttributeHandle getDetailAttribute (const char *attrib_name) const
 
GEO_AttributeHandle getDetailAttribute (const char *attrib_name)
 
GEO_AttributeHandle getAttribute (GA_AttributeOwner dict, const char *attrib_name) const
 
GEO_AttributeHandle getAttribute (GA_AttributeOwner dict, const char *attrib_name)
 
bool changeAttributeStorage (GA_AttributeOwner dict, const UT_StringRef &name, GA_Storage new_storage)
 
bool changePointAttributeStorage (const UT_StringRef &nm, GA_Storage s)
 
bool changeVertexAttributeStorage (const UT_StringRef &nm, GA_Storage s)
 
bool changePrimAttributeStorage (const UT_StringRef &nm, GA_Storage s)
 
bool changeDetailAttributeStorage (const UT_StringRef &nm, GA_Storage s)
 
GA_Size getPointAdjacentPolygons (GEO_PointAdjArray &adjacencies, GA_Offset poly_off) const
 
GA_Size getPointAdjacentPolygons (GA_OffsetArray &polygons, GA_Offset poly_off) const
 
GA_Size getEdgeAdjacentPolygons (GEO_EdgeAdjArray &adjacencies, GA_Offset poly_off) const
 
GA_Size getEdgeAdjacentPolygons (GA_OffsetArray &polygons, GA_Offset poly_off) const
 
const GEO_PrimitivefindPrimitiveByName (const char *nametomatch, const GA_PrimCompat::TypeMask &mask=GEO_PrimTypeCompat::GEOPRIMALL, const char *nameattrib="name", int matchnumber=0) const
 
GEO_PrimitivefindPrimitiveByName (const char *nametomatch, const GA_PrimCompat::TypeMask &mask=GEO_PrimTypeCompat::GEOPRIMALL, const char *nameattrib="name", int matchnumber=0)
 
void findAllPrimitivesByName (UT_Array< const GEO_Primitive * > &primlist, const char *nametomatch, const GA_PrimCompat::TypeMask &mask=GEO_PrimTypeCompat::GEOPRIMALL, const char *nameattrib="name") const
 Like findPrimitiveByName, but adds all matching primitives to the list. More...
 
void findAllPrimitivesByName (UT_Array< GEO_Primitive * > &primlist, const char *nametomatch, const GA_PrimCompat::TypeMask &mask=GEO_PrimTypeCompat::GEOPRIMALL, const char *nameattrib="name")
 
void mergeDetailAttributes (const GEO_Detail &src, int num_pts_prev)
 
void destroyPointGroup (GA_PointGroup *g)
 
void destroyPrimitiveGroup (GA_PrimitiveGroup *g)
 
void destroyVertexGroup (GA_VertexGroup *g)
 
bool destroyPointGroup (const char *name)
 
bool destroyPrimitiveGroup (const char *name)
 
bool destroyVertexGroup (const char *name)
 
void mergeGroups (const GEO_Detail &src, bool override, unsigned mask=GA_GMASK_FULL_MASK)
 
GA_PointGroupmergeGroup (const GEO_Detail &src, const GA_PointGroup &group, bool override=true)
 
GA_PrimitiveGroupmergeGroup (const GEO_Detail &src, const GA_PrimitiveGroup &group, bool override=true)
 
GA_VertexGroupmergeGroup (const GEO_Detail &src, const GA_VertexGroup &group, GA_OffsetArray &map_cache, bool override=true)
 
GA_EdgeGroupmergeGroup (const GEO_Detail &src, const GA_EdgeGroup &group, bool override=true)
 
GA_AttributeaddAttribute (const UT_StringHolder &name, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype, GA_AttributeOwner who, GA_AttributeScope scope=GA_SCOPE_PUBLIC)
 Some common methods for the standard guys. More...
 
GA_AttributegrowTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int added_size)
 
SYS_FORCE_INLINE GA_AttributegrowTuple (GA_AttributeOwner owner, const UT_StringRef &name, int added_size)
 
void destroyAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeFilter *filter=0)
 
SYS_FORCE_INLINE void destroyAttribute (GA_AttributeOwner owner, const UT_StringRef &name, const GA_AttributeFilter *filter=0)
 
SYS_FORCE_INLINE GEO_PrimitivegetGEOPrimitive (GA_Offset primoff)
 
SYS_FORCE_INLINE const
GEO_Primitive
getGEOPrimitive (GA_Offset off) const
 
GEO_PrimitivegetGEOPrimitiveByIndex (GA_Index idx)
 
const GEO_PrimitivegetGEOPrimitiveByIndex (GA_Index idx) const
 
GA_Size deletePoints (const GA_Range &range, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES)
 
GA_Size deletePrimitives (const GA_Range &range, bool and_points=false)
 
bool deletePrimitive (GA_Primitive &prim, bool and_points=false)
 
bool setDetailAttributeS (const UT_StringHolder &aname, const char *value)
 
bool setDetailAttributeS (const UT_StringHolder &aname, const UT_StringArray &s)
 
bool setDetailAttributeR (const UT_StringHolder &aname, const UT_Ramp &ramp)
 
bool setDetailAttributeF (const UT_StringHolder &aname, float v)
 
bool setDetailAttributeF (const UT_StringHolder &aname, float v1, float v2)
 
bool setDetailAttributeF (const UT_StringHolder &aname, const UT_Vector2 &v)
 
bool setDetailAttributeF (const UT_StringHolder &aname, const UT_Vector3 &v)
 
bool setDetailAttributeF (const UT_StringHolder &aname, const UT_Vector4 &v)
 
bool setDetailAttributeF (const UT_StringHolder &aname, const UT_Matrix3 &v)
 
bool setDetailAttributeF (const UT_StringHolder &aname, const UT_Matrix4 &v)
 
bool setDetailAttributeI (const UT_StringHolder &aname, int v)
 
GA_Size getPointGroupAdjacentToPrimitiveGroup (const GA_PrimitiveGroup *in_prim_grp, GA_PointGroup *adj_pt_grp)
 
GA_Size getPointGroupAdjacentToPrimitiveRange (const GA_Range &in_prim_rng, GA_PointGroup *adj_pt_rng)
 
GA_Size getVertexGroupAdjacentToPrimitiveGroup (const GA_PrimitiveGroup *in_prim_grp, GA_VertexGroup *adj_vtx_grp)
 
GA_Size getVertexGroupAdjacentToPrimitiveRange (const GA_Range &in_prim_rng, GA_VertexGroup *adj_vtx_rng)
 
const GA_AttributefindFloatTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findFloatTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindFloatTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindFloatTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindIntTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findIntTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindIntTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindIntTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindNumericTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 findNumericTuple will find either float or int. More...
 
SYS_FORCE_INLINE const
GA_Attribute
findNumericTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindNumericTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 findNumericTuple will find either float or int. More...
 
SYS_FORCE_INLINE GA_AttributefindNumericTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindStringTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findStringTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindStringTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindStringTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindDictTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findDictTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindDictTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindDictTuple (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindIndexPair (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findIndexPair (GA_AttributeOwner owner, const UT_StringRef &name) const
 
GA_AttributefindIndexPair (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindIndexPair (GA_AttributeOwner owner, const UT_StringRef &name)
 
const GA_AttributefindFloatArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findFloatArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindFloatArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindFloatArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindIntArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findIntArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindIntArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindIntArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindNumericArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findNumericArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindNumericArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindNumericArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindStringArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findStringArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindStringArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindStringArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
const GA_AttributefindDictArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
SYS_FORCE_INLINE const
GA_Attribute
findDictArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1) const
 
GA_AttributefindDictArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
SYS_FORCE_INLINE GA_AttributefindDictArray (GA_AttributeOwner owner, const UT_StringRef &name, int min_size=1, int max_size=-1)
 
GA_AttributeaddTuple (GA_Storage storage, GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0), const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddTuple (GA_Storage storage, GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0), const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddFloatTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0), const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_REAL32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddFloatTuple (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0), const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_REAL32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddIntTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0), const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_INT32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddIntTuple (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0), const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_INT32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddStringTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddStringTuple (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddDictTuple (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddDictTuple (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddFloatArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_REAL32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddFloatArray (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_REAL32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddIntArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_INT32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddIntArray (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_INT32, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddStringArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_STRING, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddStringArray (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_STRING, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributeaddDictArray (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_STRING, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributeaddDictArray (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=0, const GA_AttributeOptions *attribute_options=0, GA_Storage storage=GA_STORE_STRING, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
- Public Member Functions inherited from GA_Detail
 GA_Detail (GA_PrimitiveFactory &factory, GA_Storage Pstorage=GA_STORE_REAL32, bool isprimary=true, bool full_topology=true)
 
virtual ~GA_Detail ()
 Destructor. More...
 
exint getUniqueId () const
 
void clear ()
 
bool isEmpty () const
 
GA_AttributegetP ()
 Convenience method to access the P attribute. More...
 
const GA_AttributegetP () const
 
SYS_FORCE_INLINE bool isPDouble () const
 
UT_Vector2 getPos2 (GA_Offset ptoff) const
 The ptoff passed is the point offset. More...
 
UT_Vector2D getPos2D (GA_Offset ptoff) const
 
SYS_FORCE_INLINE UT_Vector3 getPos3 (GA_Offset ptoff) const
 The ptoff passed is the point offset. More...
 
SYS_FORCE_INLINE UT_Vector3D getPos3D (GA_Offset ptoff) const
 
template<typename T >
UT_Vector3T< TgetPos3T (GA_Offset ptoff) const
 
template<typename T >
bool getPos3AsArray (const GA_Range &ptrange, UT_Array< UT_Vector3T< T > > &positions) const
 
template<typename T >
bool setPos3FromArray (const GA_Range &ptrange, const UT_Array< UT_Vector3T< T > > &positions)
 
void setPos2 (GA_Offset ptoff, const UT_Vector2 &pos)
 Set P from a UT_Vector2. More...
 
void setPos2 (GA_Offset ptoff, const UT_Vector2D &pos)
 
SYS_FORCE_INLINE void setPos3 (GA_Offset ptoff, const UT_Vector3 &pos)
 Set P from a UT_Vector3. More...
 
SYS_FORCE_INLINE void setPos3 (GA_Offset ptoff, const UT_Vector3D &pos)
 
SYS_FORCE_INLINE void setPos3 (GA_Offset ptoff, fpreal x, fpreal y, fpreal z)
 Set P given the x, y, z components. More...
 
SYS_FORCE_INLINE void translatePoint (GA_Offset ptoff, const UT_Vector3 &delta)
 
SYS_FORCE_INLINE void translatePoint (GA_Offset ptoff, const UT_Vector3D &delta)
 
fpreal getPw (GA_Offset ptoff) const
 Get the homogeneous coordinate for a point. More...
 
void setPw (GA_Offset ptoff, fpreal w)
 Set the homogeneous coordinate for a point. More...
 
UT_Vector4 getPos4 (GA_Offset ptoff) const
 The ptoff passed is the point offset. More...
 
UT_Vector4D getPos4D (GA_Offset ptoff) const
 
void setPos4 (GA_Offset ptoff, const UT_Vector4 &pos)
 Set P from a UT_Vector4. More...
 
void setPos4 (GA_Offset ptoff, const UT_Vector4D &pos)
 
void setPos4 (GA_Offset ptoff, fpreal x, fpreal y, fpreal z, fpreal w)
 Set P given the x, y, z, w components. More...
 
SYS_FORCE_INLINE GA_Offset appendPoint ()
 Append a new point, returning its new data offset. More...
 
SYS_FORCE_INLINE GA_Offset appendPointBlock (GA_Size npoints)
 Append new points, returning the first offset of the contiguous block. More...
 
SYS_FORCE_INLINE GA_Size getNumPoints () const
 Return the number of points. More...
 
SYS_FORCE_INLINE GA_Offset getNumPointOffsets () const
 
SYS_FORCE_INLINE GA_Offset pointOffset (GA_Index index) const
 Given a point's index (in append order), return its data offset. More...
 
SYS_FORCE_INLINE GA_Index pointIndex (GA_Offset offset) const
 Given a point's data offset, return its index. More...
 
GA_Index reorderPoint (GA_Offset ptoff, GA_Index new_order)
 
GA_PrimitiveappendPrimitive (const GA_PrimitiveTypeId &type)
 Append a primitive by GA_PrimitiveTypeId. More...
 
GA_PrimitiveappendPrimitive (const UT_StringRef &type)
 Append a primitive by type name string. More...
 
GA_Offset appendPrimitiveBlock (const GA_PrimitiveTypeId &type, GA_Size nprimitives)
 Append a contiguous block of primitives by GA_PrimitiveTypeId. More...
 
GA_Offset appendPrimitivesAndVertices (const GA_PrimitiveTypeId &type, GA_Size nprimitives, GA_Size nvertices_each, GA_Offset &vertex_block_start, bool closed_flag=false)
 
GA_Offset appendPrimitivesAndVertices (const GA_PrimitiveTypeId &type, const GA_PolyCounts &vertex_counts, GA_Offset &vertex_block_start, bool closed_flag=false)
 
GA_Offset appendPrimitivesAndVertices (const std::pair< int, exint > *primtype_count_pairs, const GA_PolyCounts &vertex_counts, GA_Offset &vertex_block_start, const exint *closed_span_length=nullptr, exint ncopies=1)
 
SYS_FORCE_INLINE GA_Size getNumPrimitives () const
 Return the number of primitives. More...
 
SYS_FORCE_INLINE GA_Offset getNumPrimitiveOffsets () const
 
SYS_FORCE_INLINE GA_Offset primitiveOffset (GA_Index index) const
 Given a primitive's index (in append order), return its data offset. More...
 
SYS_FORCE_INLINE GA_Index primitiveIndex (GA_Offset offset) const
 Given a primitive's data offset, return its index. More...
 
SYS_FORCE_INLINE GA_OffsetListRef getPrimitiveVertexList (GA_Offset primoff) const
 
SYS_FORCE_INLINE GA_Size getPrimitiveVertexCount (GA_Offset primoff) const
 
SYS_FORCE_INLINE GA_Offset getPrimitiveVertexOffset (GA_Offset primoff, GA_Size i) const
 
SYS_FORCE_INLINE int getPrimitiveTypeId (GA_Offset primoff) const
 
SYS_FORCE_INLINE bool getPrimitiveClosedFlag (GA_Offset primoff) const
 
SYS_FORCE_INLINE void setPrimitiveClosedFlag (GA_Offset primoff, bool closed)
 
GA_Index reorderPrimitive (GA_Offset offset, GA_Index new_order)
 
bool swapPrimitiveOrder (GA_Offset offset1, GA_Offset offset2)
 Swap the order of the two specified primitive data offsets. More...
 
SYS_FORCE_INLINE GA_Offset appendVertex ()
 Append a vertex (for the entire detail) More...
 
SYS_FORCE_INLINE GA_Offset appendVertexBlock (GA_Size nvertices)
 Append new vertices, returning the first offset of the contiguous block. More...
 
SYS_FORCE_INLINE GA_Size getNumVertices () const
 Return the number verticies in the entire detail. More...
 
SYS_FORCE_INLINE GA_Offset getNumVertexOffsets () const
 
SYS_FORCE_INLINE GA_Offset vertexOffset (GA_Index index) const
 Given a vertex's index (in append order), return its data offset. More...
 
SYS_FORCE_INLINE GA_Index vertexIndex (GA_Offset offset) const
 Given a vertex's data offset, return its index. More...
 
SYS_FORCE_INLINE GA_Offset vertexPoint (GA_Offset vertex) const
 Given a vertex, return the point it references. More...
 
void setVertexPoint (GA_Offset vertex, GA_Offset ptoff)
 Given a vertex, set the corresponding point offset. More...
 
SYS_FORCE_INLINE GA_Offset vertexPrimitive (GA_Offset vertex) const
 
SYS_FORCE_INLINE GA_Offset pointVertex (GA_Offset point) const
 
SYS_FORCE_INLINE GA_Offset vertexToNextVertex (GA_Offset vtx) const
 
SYS_FORCE_INLINE GA_Offset vertexToPrevVertex (GA_Offset vtx) const
 
GA_Offset getVertexReferencingPoint (GA_Offset ptoff, GA_Offset primoff=GA_INVALID_OFFSET) const
 
GA_Size getVerticesReferencingPoint (GA_OffsetArray &vertices, GA_Offset point_offset) const
 
GA_Size getPrimitivesReferencingPoint (GA_OffsetArray &primitives, GA_Offset point_offset) const
 
bool hasNoSharedPoints () const
 
bool destroyVertexOffset (GA_Offset offset)
 
virtual bool destroyPrimitiveOffset (GA_Offset offset, bool and_points=false)
 
bool destroyPrimitiveIndex (GA_Index index, bool and_points=false)
 
bool destroyPrimitive (GA_Primitive &prim, bool and_points=false)
 
virtual GA_Size destroyPrimitiveOffsets (const GA_Range &it, bool and_points=false)
 
GA_Size destroyPrimitives (const GA_Range &it, bool and_points=false)
 
GA_Size destroyDegeneratePrimitives (const GA_Range &it, bool and_points=false)
 
GA_Size destroyDegeneratePrimitives (const GA_PrimitiveGroup *prims=0, bool and_points=false)
 
GA_Size destroyUnusedPoints (const GA_PointGroup *ptgrp=0)
 Destroy unused points. If ptgrp is given, then only within the group. More...
 
GA_Size destroyVertexOffsets (const GA_Range &range)
 
GA_Size destroyVertices (const GA_Range &range)
 
bool isPointUsed (GA_Offset point) const
 
bool isPointUsedFast (GA_Offset point) const
 
bool findUnusedPoints (GA_OffsetList *unused=nullptr) const
 
GA_Size countUnusedPoints () const
 
const GA_IndexMapgetIndexMap (GA_AttributeOwner owner) const
 
GA_IndexMapgetIndexMap (GA_AttributeOwner owner)
 
const GA_IndexMapgetPointMap () const
 
const GA_IndexMapgetVertexMap () const
 
const GA_IndexMapgetPrimitiveMap () const
 
const GA_IndexMapgetGlobalMap () const
 
const GA_PrimitiveListgetPrimitiveList () const
 
GA_PrimitiveListgetPrimitiveList ()
 
GA_AttributeSetgetAttributes ()
 
const GA_AttributeSetgetAttributes () const
 
GA_TopologygetTopology ()
 
const GA_TopologygetTopology () const
 
bool checkValidTopology () const
 
void createTopologyAttributes ()
 
void clearTopologyAttributes ()
 
void bumpAllDataIds ()
 
void bumpDataIdsForRewire ()
 
void bumpDataIdsForAddOrRemove (bool added_or_removed_points, bool added_or_removed_vertices, bool added_or_removed_primitives)
 
bool defragment (GA_AttributeOwner owner, const UT_Options *options=nullptr)
 
bool defragment (const UT_Options *options=nullptr)
 
void sortVertexMapByPrimitiveUse ()
 
SYS_FORCE_INLINE bool destroyAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE bool destroyAttribute (GA_AttributeOwner owner, const UT_StringRef &name)
 
SYS_FORCE_INLINE bool renameAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &from_name, const UT_StringHolder &to_name)
 
GA_AttributecreateTupleAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0f), const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr)
 
GA_AttributecreateTupleAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0f), const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr)
 
GA_AttributecreateStringAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr)
 
GA_AttributecreateStringAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr)
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_size) const
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_size) const
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (GA_AttributeOwner owner, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findPointAttribute (GA_AttributeScope s, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findPointAttribute (const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findVertexAttribute (GA_AttributeScope s, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findVertexAttribute (const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findPrimitiveAttribute (GA_AttributeScope s, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findPrimitiveAttribute (const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findGlobalAttribute (GA_AttributeScope s, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findGlobalAttribute (const UT_StringRef &name) const
 
SYS_FORCE_INLINE GA_AttributefindAttribute (GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_size)
 
SYS_FORCE_INLINE GA_AttributefindAttribute (const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_size)
 
SYS_FORCE_INLINE GA_AttributefindAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindAttribute (GA_AttributeOwner owner, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPointAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPointAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindVertexAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindVertexAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPrimitiveAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPrimitiveAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindGlobalAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindGlobalAttribute (const UT_StringRef &name)
 
GA_ElementGroupcreateElementGroup (GA_AttributeOwner owner, const UT_StringHolder &name, bool ordered=false)
 
GA_ElementGroupcreateInternalElementGroup (GA_AttributeOwner owner, bool ordered=false)
 
GA_ElementGroupfindElementGroup (GA_AttributeOwner owner, const UT_StringRef &name)
 
const GA_ElementGroupfindElementGroup (GA_AttributeOwner owner, const UT_StringRef &name) const
 
const GA_ElementGroupTablegetElementGroupTable (GA_AttributeOwner owner) const
 
SYS_FORCE_INLINE
GA_ElementGroupTable
getElementGroupTable (GA_AttributeOwner owner)
 
GA_GroupTablegetGroupTable (GA_GroupType group_type)
 
const GA_GroupTablegetGroupTable (GA_GroupType group_type) const
 
template<GA_AttributeOwner OWNER>
SYS_FORCE_INLINE
GA_ElementGroupTableT< OWNER >
::GROUP_TYPE * 
createElementGroup (const UT_StringHolder &name, bool ordered=false)
 
template<GA_AttributeOwner OWNER>
SYS_FORCE_INLINE
GA_ElementGroupTableT< OWNER >
::GROUP_TYPE * 
createInternalElementGroup (bool ordered=false)
 
template<GA_AttributeOwner OWNER>
SYS_FORCE_INLINE
GA_ElementGroupTableT< OWNER >
::GROUP_TYPE * 
findElementGroup (const UT_StringRef &name)
 
template<GA_AttributeOwner OWNER>
SYS_FORCE_INLINE const
GA_ElementGroupTableT< OWNER >
::GROUP_TYPE * 
findElementGroup (const UT_StringRef &name) const
 
void getElementGroupList (GA_AttributeOwner owner, UT_Array< const GA_ElementGroup * > &list) const
 
void getElementGroupList (GA_AttributeOwner owner, UT_Array< GA_ElementGroup * > &list)
 
SYS_FORCE_INLINE bool destroyElementGroup (GA_AttributeOwner owner, const UT_StringRef &name)
 
SYS_FORCE_INLINE bool destroyElementGroup (GA_AttributeOwner owner, const char *name)
 
bool destroyElementGroup (GA_ElementGroup *group)
 
bool destroyGroup (GA_Group *group)
 
SYS_FORCE_INLINE const
GA_PointGroup
findPointGroup (const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_VertexGroup
findVertexGroup (const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_PrimitiveGroup
findPrimitiveGroup (const UT_StringRef &name) const
 
SYS_FORCE_INLINE GA_PointGroupfindPointGroup (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_VertexGroupfindVertexGroup (const UT_StringRef &name)
 
SYS_FORCE_INLINE
GA_PrimitiveGroup
findPrimitiveGroup (const UT_StringRef &name)
 
GA_EdgeGroupcreateEdgeGroup (const UT_StringHolder &name)
 
GA_EdgeGroupcreateInternalEdgeGroup ()
 
const GA_EdgeGroupfindEdgeGroup (const UT_StringRef &name) const
 
GA_EdgeGroupfindEdgeGroup (const UT_StringRef &name)
 
void getEdgeGroupList (UT_Array< const GA_EdgeGroup * > &list) const
 
void getEdgeGroupList (UT_Array< GA_EdgeGroup * > &list)
 
SYS_FORCE_INLINE bool destroyEdgeGroup (const UT_StringRef &name)
 
SYS_FORCE_INLINE bool destroyEdgeGroup (GA_EdgeGroup *g)
 
GA_Size destroyEmptyGroups (GA_AttributeOwner owner)
 
GA_Size destroyAllEmptyGroups ()
 
const GA_IntrinsicManagergetIntrinsicManager () const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPoint (FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPoint (const GA_PointGroup *group, FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPoint (const GA_PointGroup *group, bool complement, FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPrimitive (FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPrimitive (const GA_PrimitiveGroup *group, FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPrimitive (const GA_PrimitiveGroup *group, bool complement, FUNCTOR &&functor) const
 
GA_Range getPointRange (const GA_PointGroup *group=0) const
 Get a range of all points in the detail. More...
 
GA_Range getPrimitiveRange (const GA_PrimitiveGroup *group=0) const
 Get a range of all primitives in the detail. More...
 
GA_Range getPointRangeSlice (GA_Index begin_ptnum, GA_Index end_ptnum=GA_INVALID_INDEX) const
 Get ordered point range from base_ptnum to end_ptnum, or the end. More...
 
GA_Range getPrimitiveRangeSlice (GA_Index begin_prim, GA_Index end_prim=GA_INVALID_INDEX) const
 Get ordered primitive range from base_prim to end_prim, or the end. More...
 
GA_Range getVertexRange (const GA_VertexGroup *group=0) const
 Get a range of all vertices in the detail. More...
 
GA_Range getGlobalRange () const
 Get a range representing the global (detail) data. More...
 
bool enlargeBoundingBox (UT_BoundingRect &box, const GA_Range &range) const
 
bool enlargeBoundingBox (UT_BoundingRect &box, const GA_Range &range, const GA_Attribute *P) const
 
bool enlargeBoundingBox (UT_BoundingBox &box, const GA_Range &range) const
 
bool enlargeBoundingBox (UT_BoundingBox &box, const GA_Range &range, const GA_Attribute *P) const
 
void computeQuickBounds (UT_BoundingBox &box) const
 
void computeQuickBounds (UT_BoundingBox &box, GA_Size counts[], GA_Size count_buf_size) const
 
void cloneCopyGroupsAndAttributes (const GA_Detail &src, bool copydetailattribs=false)
 
SYS_FORCE_INLINE void copyPoint (GA_Offset destptoff, GA_Offset srcptoff, const GA_AttributeFilter *filter=nullptr)
 
void copyVertex (GA_Offset destvtxoff, GA_Offset srcvtxoff, bool ref_point_dont_copy, const GA_AttributeFilter *filter=nullptr)
 
void baseMerge (const GA_Detail &src)
 Merge the source detail into this detail (using default options) More...
 
void baseMerge (const GA_Detail &src, GA_MergeOptions &options)
 Merge the source detail into this detail with options. More...
 
void replaceWith (const GA_Detail &src, const GA_AttributeFilter *skip=nullptr, bool full_copy=false)
 
void replaceWithPoints (const GA_Detail &src, const GA_AttributeFilter *skip=nullptr)
 
void mergeGlobalAttributes (const GA_Detail &src)
 Merge global attributes (using default options) More...
 
void mergeGlobalAttributes (const GA_Detail &src, GA_MergeOptions &options)
 Merge source global attributes using options. More...
 
void cloneMissingAttributes (const GA_Detail &src, GA_AttributeOwner owner, const GA_AttributeFilter &filter)
 
void cloneMissingGroups (const GA_Detail &src, GA_AttributeOwner owner, const GA_AttributeFilter &filter)
 Clone any missing groups from the source detail. More...
 
bool registerIO (GA_IO *io) const
 Register an IO file format. More...
 
const GA_IOfindIO (const char *name=nullptr) const
 
void getIONames (UT_StringArray &names) const
 
IOStatus save (const char *filename, const GA_SaveOptions *options, UT_StringArray *errors=0) const
 
IOStatus save (std::ostream &os, bool binary, const GA_SaveOptions *options, UT_StringArray *errors=0) const
 
IOStatus save (UT_JSONWriter &w, const GA_SaveOptions *opts=0) const
 
IOStatus load (const char *filename, const GA_LoadOptions *opts=0, UT_StringArray *errors=0)
 Load a geometry file. More...
 
IOStatus load (UT_IStream &is, const GA_LoadOptions *opts=0, UT_StringArray *errors=0)
 Load a geometry file given a UT_IStream. More...
 
IOStatus load (UT_JSONParser &p, const GA_LoadOptions *opts=0, UT_StringArray *errors=0)
 
bool stat (GA_Stat &stat, uint level=0xffff) const
 
void statAttributes (GA_Stat &stat, uint level=0xffff) const
 Fill out only the attribute information on the stat. More...
 
void statGroups (GA_Stat &stat, uint level=0xffff) const
 Fill out only the group information on the stat. More...
 
const GA_PrimitiveFactorygetPrimitiveFactory () const
 
virtual void refreshCachedHandles ()
 
void refreshCachedAttributes ()
 Refreshes the cached myP attribute. More...
 
void constructTailInitializers (GA_AttributeOwner owner, GA_Offset start, GA_Offset size=GA_Offset(1))
 
bool containsPrimitiveType (const GA_PrimitiveTypeId &type) const
 
bool containsOnlyPrimitiveTypes (const UT_Array< GA_PrimitiveTypeId > &type) const
 
GA_Size countPrimitiveType (const GA_PrimitiveTypeId &type) const
 
GA_Size countPrimitiveTypeFamily (GA_PrimitiveFamilyMask family) const
 
bool containsLocalTransformPrimitive () const
 
bool getPrimitivesOfType (const GA_PrimitiveTypeId &type, UT_Array< const GA_Primitive * > &prims) const
 
GA_PrimitiveTypeMask getPrimitiveTypeMaskAll () const
 
GA_PrimitiveTypeMask getPrimitiveTypeMask (const GA_PrimitiveGroup *group=0) const
 
const GA_AttributeInstanceMatrixgetInstanceMatrix () const
 Return cached attribute instance matrix pointer. More...
 
void clearInstanceMatrix ()
 
bool isPrimary () const
 
GA_CEAttributegetTopologyCEAttribute (GA_Topology::TopologyCE topotype, GA_StorageClass storage, GA_Precision precision, int &tuplesize, bool isarray, bool read, bool write)
 Builds & acquires GPU backed buffers for topology attributes. More...
 
void flushCEWriteCaches ()
 
void flushCECaches ()
 
void stealCEBuffers (const GA_Detail &srcdetail)
 
void copyChangedNonTransforming (const GA_Detail *inputgeo, GA_AttributeOwner owner)
 
void incrementMetaCacheCount ()
 
int64 getMetaCacheCount () const
 
GA_Precision getPreferredPrecision () const
 
void setPreferredPrecision (GA_Precision prec)
 
void stashAll ()
 
void destroyStashed ()
 
const GA_AttributegetPwAttribute () const
 
GA_AttributegetPwAttribute ()
 
SYS_FORCE_INLINE GA_PrimitivegetPrimitive (GA_Offset prim_off)
 
SYS_FORCE_INLINE const
GA_Primitive
getPrimitive (GA_Offset prim_off) const
 
GA_PrimitivegetPrimitiveByIndex (GA_Index prim_idx)
 
const GA_PrimitivegetPrimitiveByIndex (GA_Index prim_idx) const
 
bool destroyPointOffset (GA_Offset ptoff, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES, bool guarantee_no_vertex_references=false)
 
bool destroyPointIndex (GA_Index index, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES, bool guarantee_no_vertex_references=false)
 
GA_Size destroyUnusedPoints (const GA_Range &point_range)
 
GA_Size destroyPointOffsets (const GA_Range &range, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES, bool guarantee_no_vertex_references=false)
 
GA_Size destroyPoints (const GA_Range &range, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES, bool guarantee_no_vertex_references=false)
 
GA_AttributeOwner getAttributeOwner (const GA_AttributeDict &dict) const
 
const GA_AttributeDictgetAttributeDict (GA_AttributeOwner owner) const
 
GA_AttributecreateAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, const UT_Options *create_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
GA_AttributecreateAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, const UT_Options *create_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
SYS_FORCE_INLINE GA_ATINumericUPtr createDetachedTupleAttribute (GA_AttributeOwner owner, GA_Storage storage, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0f), const GA_AttributeOptions *attribute_options=nullptr) const
 
SYS_FORCE_INLINE GA_AttributeUPtr createDetachedAttribute (GA_AttributeOwner owner, const UT_StringRef &attribtype, const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr) const
 
SYS_FORCE_INLINE GA_AttributeUPtr createDetachedAttribute (GA_AttributeOwner owner, const GA_AttributeType &attribtype, const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr) const
 
template<typename T >
bool getAttributeAsArray (const GA_Attribute *atr, const GA_Range &range, UT_Array< T > &result) const
 Get/set all the point attribute data from/to a contiguous array. More...
 
template<typename T >
bool setAttributeFromArray (GA_Attribute *atr, const GA_Range &range, const UT_Array< T > &src)
 
GA_PointGroupTablepointGroups ()
 
const GA_PointGroupTablepointGroups () const
 
GA_PrimitiveGroupTableprimitiveGroups ()
 
const GA_PrimitiveGroupTableprimitiveGroups () const
 
GA_VertexGroupTablevertexGroups ()
 
const GA_VertexGroupTablevertexGroups () const
 
GA_EdgeGroupTableedgeGroups ()
 
const GA_EdgeGroupTableedgeGroups () const
 
GA_PointGroupnewPointGroup (const UT_StringHolder &name)
 
GA_VertexGroupnewVertexGroup (const UT_StringHolder &name)
 
GA_PrimitiveGroupnewPrimitiveGroup (const UT_StringHolder &name)
 
GA_EdgeGroupnewEdgeGroup (const UT_StringHolder &name)
 
GA_PointGroupnewInternalPointGroup ()
 
GA_VertexGroupnewInternalVertexGroup ()
 
GA_PrimitiveGroupnewInternalPrimitiveGroup ()
 
GA_EdgeGroupnewInternalEdgeGroup ()
 
GA_PointGroupnewDetachedPointGroup () const
 
GA_PrimitiveGroupnewDetachedPrimitiveGroup () const
 Be sure to do "delete group;" to clean it up. More...
 
GA_VertexGroupnewDetachedVertexGroup () const
 Be sure to do "delete group;" to clean it up. More...
 
GA_EdgeGroupnewDetachedEdgeGroup () const
 Be sure to do "delete group;" to clean it up. More...
 
GA_PointGroupUPtr createDetachedPointGroup () const
 
GA_PrimitiveGroupUPtr createDetachedPrimitiveGroup () const
 
GA_VertexGroupUPtr createDetachedVertexGroup () const
 
GA_EdgeGroupUPtr createDetachedEdgeGroup () const
 
GA_PointGroupnewPointGroup (const UT_StringHolder &name, bool internal)
 
GA_PrimitiveGroupnewPrimitiveGroup (const UT_StringHolder &name, bool internal)
 
GA_VertexGroupnewVertexGroup (const UT_StringHolder &name, bool internal)
 
GA_EdgeGroupnewEdgeGroup (const UT_StringHolder &name, bool internal)
 
GA_LocalIntrinsic findIntrinsic (const UT_StringRef &nm) const
 
GA_LocalIntrinsic findIntrinsic (GA_GlobalIntrinsic h) const
 
GA_GlobalIntrinsic findGlobalIntrinsic (GA_LocalIntrinsic h) const
 
const char * getIntrinsicName (GA_LocalIntrinsic h) const
 
GA_Size getIntrinsicTupleSize (GA_LocalIntrinsic h) const
 
bool getIntrinsicCollapseSingletons (GA_LocalIntrinsic h) const
 
GA_StorageClass getIntrinsicStorage (GA_LocalIntrinsic h) const
 
bool getIntrinsicReadOnly (GA_LocalIntrinsic h) const
 
const UT_OptionsgetIntrinsicOptions (GA_LocalIntrinsic h) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, UT_String &val) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, UT_StringArray &val) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, UT_OptionsHolder &val) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, UT_Array< UT_OptionsHolder > &val) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, int64 *v, GA_Size size) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, fpreal64 *v, GA_Size sz) const
 
bool getIntrinsic (GA_LocalIntrinsic h, float &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, int &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector2 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector3 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector4 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix2 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix3 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix4 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, double &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, int64 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector2D &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector3D &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector4D &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix2D &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix3D &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix4D &v) const
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const char *value)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const UT_StringArray &value)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const char **val, GA_Size s)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const UT_OptionsHolder &val)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const UT_Array< UT_OptionsHolder > &value)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const UT_OptionsHolder *val, GA_Size s)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const int64 val)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const fpreal64 val)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const int64 *val, GA_Size sz)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const fpreal64 *v, GA_Size sz)
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPointBreak (FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPointBreak (const GA_PointGroup *group, FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPointBreak (const GA_PointGroup *group, bool complement, FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPrimitiveBreak (FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPrimitiveBreak (const GA_PrimitiveGroup *group, FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPrimitiveBreak (const GA_PrimitiveGroup *group, bool complement, FUNCTOR &&functor) const
 
void copyAttributes (GA_AttributeOwner owner, GA_Offset destoff, GA_Offset srcoff, const GA_AttributeFilter *filter=nullptr)
 
void copyAttributes (GA_AttributeOwner owner, GA_Offset destoff, const GA_Detail &srcdetail, GA_Offset srcoff, const GA_AttributeFilter *filter=nullptr)
 
IOStatus saveClassic (const char *, const GA_SaveOptions *) const
 
IOStatus saveClassic (std::ostream &os, bool, const GA_SaveOptions *) const
 
IOStatus statFile (const char *filename, GA_Stat &stat, uint level=0xffff, const GA_LoadOptions *opts=nullptr) const
 
IOStatus stat (UT_JSONParser &p, GA_Stat &stat, uint level) const
 
void addTailInitializer (GA_Attribute *attrib)
 
bool removeTailInitializer (GA_Attribute *attrib)
 
MantraGeometry * mantraGeometry ()
 
const MantraGeometry * mantraGeometry () const
 
void setMantraGeometry (MantraGeometry *m)
 
bool saveVertexPointReferenceH9 (std::ostream &os, int binary, GA_Offset vertex_offset) const
 
bool loadVertexH9 (UT_IStream &is, GA_Offset vertex_offset, const UT_Array< GA_AttribLoadDataH9 > &vtx_l)
 
bool saveVertexH9 (std::ostream &os, int binary, GA_Offset vertex_offset, const UT_Array< GA_AttribSaveDataH9 > &vtx_l) const
 

Additional Inherited Members

- Public Types inherited from GU_Detail
enum  OnlyConsGroupPropagateType { ONLYCONS_GRP_PROP_LEAST = 0, ONLYCONS_GRP_PROP_UNION, ONLYCONS_GRP_PROP_INTERSECT }
 
enum  SnapAttributesType { SNAP_ATTRIBUTES_AVERAGE = 0, SNAP_ATTRIBUTES_INDEX }
 
enum  BridgeMode { GU_BRIDGEMODE_BRIDGE, GU_BRIDGEMODE_DISJOINT, GU_BRIDGEMODE_DELETE }
 
- Public Types inherited from GEO_Detail
enum  CaptureType {
  CAPTURE_BONE = 0, CAPTURE_META, CAPTURE_WIRE, CAPTURE_CLOTH,
  CAPTURE_MUSCLE
}
 Methods for manipulating capture weights (GEO_CaptureWeight.C) More...
 
enum  VisualizationType { VISTYPE_SINGLE, VISTYPE_MULTIPLE }
 
using LocalXformContextR = LocalXformContextT< fpreal >
 
using LocalXformContextF = LocalXformContextT< fpreal32 >
 
using LocalXformContextD = LocalXformContextT< fpreal64 >
 
typedef GEO_Primitive GB_MACRO_PRIM_TYPE
 
typedef UT_Array
< PointAdjacencyData
GEO_PointAdjArray
 
typedef UT_Array
< EdgeAdjacencyData
GEO_EdgeAdjArray
 
- Public Types inherited from GA_Detail
enum  GA_DestroyPointMode { GA_LEAVE_PRIMITIVES, GA_DESTROY_DEGENERATE, GA_DESTROY_DEGENERATE_INCOMPATIBLE }
 
typedef GA_Primitive GB_MACRO_PRIM_TYPE
 
- Static Public Member Functions inherited from GU_Detail
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, GA_NUBBasis *nubbasis)
 
static GA_Detail::IOStatus statH9File (const char *filename, GA_Stat &sbuf, uint level)
 
static bool isFormatSupported (const char *filename)
 Returns true if filename is a recognized extension. More...
 
static GEO_IOTranslatorgetSupportedFormat (const char *filename)
 
static void loadIODSOs ()
 
static void getFileExtensions (UT_StringArray &result)
 Create a list of all internal file extensions. More...
 
static bool matchBinaryFileExtension (const UT_StringRef &filename)
 
static bool matchASCIIFileExtension (const UT_StringRef &filename)
 
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 exint getIOTranslatorCount ()
 
static const GEO_IOTranslatorgetIOTranslator (exint i)
 
- Static Public Member Functions inherited from GEO_Detail
template<typename FLT >
static UT_Matrix4T< FLT > localSpaceXformMatrix (const UT_XformOrder &order, const LocalXformContextT< FLT > &local_frame, FLT tx, FLT ty, FLT tz, FLT rx, FLT ry, FLT rz, FLT sx, FLT sy, FLT sz, FLT s_xy, FLT s_xz, FLT s_yz, FLT px, FLT py, FLT pz, FLT prx, FLT pry, FLT prz)
 
static const UT_StringHoldergetPointCaptureAttribName (CaptureType type)
 
static const char * getPointCaptureIndexPropertyName (CaptureType type)
 
static const UT_StringHoldergetPointCaptureFrameAttribName (CaptureType type)
 
static const UT_StringHoldergetPointCaptureRootAttribName (CaptureType type)
 
static const char * getPointCaptureDataPropertyName (CaptureType type)
 
static GA_TypeInfo getStdAttributeTypeInfo (const char *name, int floattuplesize)
 
static int asciiMagicH9 ()
 Magic number for ASCII geometry files. More...
 
static int binaryMagicH9 ()
 Magic number for binary geometry files. More...
 
- Static Public Member Functions inherited from GA_Detail
static
GA_IntrinsicManager::Registrar 
registerIntrinsics (GA_PrimitiveFactory &factory)
 
template<typename FUNCTOR >
static void forEachOffset (FUNCTOR &&functor, const GA_IndexMap &index_map, const GA_ElementGroup *group=nullptr, bool complement=false)
 
template<typename FUNCTOR >
static void forEachOffsetBreak (FUNCTOR &&functor, const GA_IndexMap &index_map, const GA_ElementGroup *group=nullptr, bool complement=false)
 
static int64 printMemory (UT_WorkBuffer &buffer, bool include_total=true, int indent=3, const char *title="Geometry Memory Tracking")
 Debugging output of detail. More...
 
template<typename T >
static const
T::GB_MACRO_PRIM_TYPE * 
GB_MACRO_CAST (const T *, const GA_Primitive *prim)
 
template<typename T >
static T::GB_MACRO_PRIM_TYPE * GB_MACRO_CAST (const T *, GA_Primitive *prim)
 
static bool loadAttribDataH9 (UT_IStream &is, GA_Offset offset, const UT_Array< GA_AttribLoadDataH9 > &l)
 
static bool saveAttribDataH9 (std::ostream &os, int binary, GA_Offset offset, const UT_Array< GA_AttribSaveDataH9 > &l, char delim_ch= '(')
 
- Static Public Attributes inherited from GA_Detail
static const int64 INVALID_CACHE_COUNT = -1
 
- Protected Member Functions inherited from GEO_Detail
GA_Size localIntrinsicTupleSize (GA_IntrinsicEval &eval) const override
 
GA_Size localGetIntrinsicS (GA_IntrinsicEval &eval, UT_String &value) const override
 
GA_Size localGetIntrinsicSA (GA_IntrinsicEval &eval, UT_StringArray &value) const override
 
GA_Size localGetIntrinsicD (GA_IntrinsicEval &eval, UT_OptionsHolder &value) const override
 
GA_Size localGetIntrinsicDA (GA_IntrinsicEval &eval, UT_Array< UT_OptionsHolder > &value) const override
 
GA_Size localGetIntrinsicI (GA_IntrinsicEval &eval, int64 *value, GA_Size size) const override
 
GA_Size localGetIntrinsicF (GA_IntrinsicEval &eval, fpreal64 *value, GA_Size size) const override
 
GA_Size localSetIntrinsicS (GA_IntrinsicEval &eval, const char *value) override
 
GA_Size localSetIntrinsicSA (GA_IntrinsicEval &eval, const UT_StringArray &value) override
 
GA_Size localSetIntrinsicSS (GA_IntrinsicEval &eval, const char **value, GA_Size size) override
 
GA_Size localSetIntrinsicDA (GA_IntrinsicEval &eval, const UT_Array< UT_OptionsHolder > &value) override
 
GA_Size localSetIntrinsicDS (GA_IntrinsicEval &eval, const UT_OptionsHolder *value, GA_Size size) override
 
GA_Size localSetIntrinsicI (GA_IntrinsicEval &eval, const int64 *value, GA_Size size) override
 
GA_Size localSetIntrinsicF (GA_IntrinsicEval &eval, const fpreal64 *value, GA_Size size) override
 
GA_Detail::IOStatus saveH9Stream (std::ostream &os, bool binary, const GA_SaveOptions *options) const
 
GA_Detail::IOStatus loadH9 (UT_IStream &is, const GA_LoadOptions *options)
 
bool convertIndexPairDataFromH9 ()
 
bool convertIndexPairDataToH9 ()
 
template<typename FLOAT_T >
void transformInternal (const UT_Matrix4T< FLOAT_T > &mat, const GA_Range &prim_range, const GA_Range &pt_range, bool just_P, bool keep_vector_lengths, bool check_pasting, bool neg_determinant_flipvector, bool update_ptnormals, GEO_Delta *geodelta, bool updateaffectednormals, const char *attribpattern)
 
void privateComputeNormal (const GA_RWHandleV3 &normalattrib, const GA_Group *group, const float cuspangledegrees, const int method) const override
 
- Protected Member Functions inherited from GA_Detail
void doConstructTailInitializers (GA_AttributeOwner owner, GA_Offset start, GA_Offset size)
 
bool loadPrimitivesH9 (UT_IStream &is, int count, const GA_FileFormatH9::PrimTypeXlate &type_map, const UT_Array< GA_AttribLoadDataH9 > &prim_attribs, const UT_Array< GA_AttribLoadDataH9 > &vtx_attribs)
 
bool savePrimitivesH9 (std::ostream &os, int binary, const UT_Array< const GA_Primitive * > &list, const GA_FileFormatH9::PrimTypeXlate &type_map, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vx_attribs) const
 
void splitAnyFloat4P ()
 
void setUniqueId (exint i)
 
void setMetaCacheCount (int64 i)
 
- Static Protected Member Functions inherited from GU_Detail
static
GA_IntrinsicManager::Registrar 
registerIntrinsics (GA_PrimitiveFactory &factory)
 Register intrinsic attributes. More...
 
- Static Protected Member Functions inherited from GEO_Detail
static
GA_IntrinsicManager::Registrar 
registerIntrinsics (GA_PrimitiveFactory &factory)
 
static GA_Detail::IOStatus statH9Basic (UT_IStream &is, GA_Stat &sbuf, bool binstream)
 
- Static Protected Member Functions inherited from GA_Detail
static void finishLoadH9 (const UT_Array< GA_AttribLoadDataH9 > &attribs)
 

Detailed Description

Definition at line 36 of file GOP_Guide.h.

Constructor & Destructor Documentation

GOP_Guide::GOP_Guide ( GOP_GuideType  intype = OP_GUIDE_ONE)
inline

Definition at line 39 of file GOP_Guide.h.

Member Function Documentation

void GOP_Guide::buildCurve ( const GEO_Primitive prim,
GA_PointGroup guidepts,
int  doU,
float  depth,
float  width1,
float  width2,
bool  arclen = false 
)
void GOP_Guide::buildDomain ( const GU_Detail srcgdp,
const GA_PrimitiveGroup srcgroup,
const GEO_Primitive auxprim,
int  first_group,
GA_PointGroup guidepts,
int  doU,
int  loop,
float  ldepth,
float  lwidth1,
float  lwidth2,
float  rdepth,
float  rwidth1,
float  rwidth2 
)
void GOP_Guide::buildVector ( const UT_Vector3 origin,
const UT_Vector3 direction,
const GU_Detail boxgdp 
)
void GOP_Guide::displayAsPoints ( bool  f)
inline

Definition at line 47 of file GOP_Guide.h.

bool GOP_Guide::displayAsPoints ( ) const
inline

Definition at line 61 of file GOP_Guide.h.

void GOP_Guide::displayFont ( bool  f)
inline

Definition at line 43 of file GOP_Guide.h.

bool GOP_Guide::displayFont ( ) const
inline

Definition at line 57 of file GOP_Guide.h.

void GOP_Guide::displayGeometry ( bool  f)
inline

Definition at line 42 of file GOP_Guide.h.

bool GOP_Guide::displayGeometry ( ) const
inline

Definition at line 56 of file GOP_Guide.h.

void GOP_Guide::displayHulls ( bool  f)
inline

Definition at line 44 of file GOP_Guide.h.

bool GOP_Guide::displayHulls ( ) const
inline

Definition at line 58 of file GOP_Guide.h.

void GOP_Guide::displayPrimNums ( bool  f)
inline

Definition at line 46 of file GOP_Guide.h.

bool GOP_Guide::displayPrimNums ( ) const
inline

Definition at line 60 of file GOP_Guide.h.

void GOP_Guide::displayShaded ( bool  b)
inline

Display this guide as shaded when in viewport shaded modes.

Definition at line 50 of file GOP_Guide.h.

bool GOP_Guide::displayShaded ( ) const
inline

Definition at line 62 of file GOP_Guide.h.

void GOP_Guide::displayText ( bool  f)
inline

Definition at line 45 of file GOP_Guide.h.

bool GOP_Guide::displayText ( ) const
inline

Definition at line 59 of file GOP_Guide.h.

void GOP_Guide::drawXRay ( bool  b)
inline

Draw the guide so that it can be seen through solid objects as wireframe.

Definition at line 54 of file GOP_Guide.h.

bool GOP_Guide::drawXRay ( ) const
inline

Definition at line 64 of file GOP_Guide.h.

void GOP_Guide::forceShaded ( bool  b)
inline

Always display this guide as shaded, regardless of viewport shading mode.

Definition at line 52 of file GOP_Guide.h.

bool GOP_Guide::forceShaded ( ) const
inline

Definition at line 63 of file GOP_Guide.h.

int64 GOP_Guide::getMemoryUsage ( bool  inclusive) const
inlineoverridevirtual

Compute memory usage (includes all shared memory)

Reimplemented from GEO_Detail.

Definition at line 88 of file GOP_Guide.h.

GOP_GuideType GOP_Guide::getType ( ) const
inline

Definition at line 66 of file GOP_Guide.h.


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