HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GD_Detail Class Referenceabstract

#include <GD_Detail.h>

+ Inheritance diagram for GD_Detail:

Public Types

typedef GD_Primitive GB_MACRO_PRIM_TYPE
 
- 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
 

Public Member Functions

 GD_Detail ()
 
 ~GD_Detail () override
 
void clearAndDestroy ()
 
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)
 
void merge (const GD_Detail &src, bool onlyvisible=false)
 
void transform (const UT_Matrix3 &matx, GA_PrimitiveGroup *primgroup=0, GA_PointGroup *pointclosure=0)
 
void translate (const UT_Vector2 &delta, GA_PrimitiveGroup *primgroup=0, GA_PointGroup *pointclosure=0)
 
void transformPoints (const UT_Matrix3 &matx, GA_PointGroup *pointgroup=0)
 
void translatePoints (const UT_Vector2 &delta, GA_PointGroup *pointGroup=0)
 
GA_Offset insertPointOffset (GA_Index before=GA_INVALID_INDEX)
 
GA_Offset insertPointOffset (const UT_Vector3 &pos, GA_Index before=GA_INVALID_INDEX)
 
GA_Offset appendPointOffset ()
 
GA_Offset appendPointOffset (const UT_Vector3 &pos)
 
GD_Primitive * getGDPrimitive (GA_Offset offset)
 
const GD_Primitive * getGDPrimitive (GA_Offset offset) const
 
GD_Primitive * insertPrimitive (const GA_PrimitiveTypeId &type, const GD_Primitive *before=0)
 
GD_Primitive * appendPrimitive (const GA_PrimitiveTypeId &type)
 
bool destroyPrimitiveOffset (GA_Offset offset, bool and_points=false) override
 
GA_Size destroyPrimitiveOffsets (const GA_Range &it, bool and_points=false) override
 
GD_TrimRegion * appendTrimRegion (int opencasual=0)
 
void deleteTrimRegion (GD_TrimRegion &region)
 
void deleteTrimRegion (unsigned int num)
 
GD_TrimLoop * generateTrimLoops (const UT_BoundingRect &brect, float offset=1e-4F, float tol=1e-4F)
 
void destroyTrimRegions (int deletecurves=1)
 
void createTrimRegion (GD_TrimLoop *loop)
 
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
 
virtual void getDomainBBox (float &u0, float &v0, float &u1, float &v1) const =0
 
void getDomainBounds (UT_BoundingRect &rect) const
 
int getNumFaces (int *visible=0) const
 
int hasTrimLoops () const
 
int hasTrimRegions () const
 
const UT_ValArray
< GD_TrimRegion * > & 
trimRegions () const
 
GD_TrimRegion * appendOuterLoop (float tol=0, int checkduplicate=1)
 
int altitude () const
 
void altitude (int a)
 
UT_ValArray< GD_TrimRegion * > & trimRegions ()
 
GA_PointGroup * newPointGroup (const char *name, int internal)
 
GA_PrimitiveGroup * newPrimitiveGroup (const char *name, int internal)
 
GA_PointGroup * newInternalPointGroup ()
 
GA_PrimitiveGroup * newInternalPrimitiveGroup ()
 
void destroyPointGroup (GA_PointGroup *g)
 
void destroyPrimitiveGroup (GA_PrimitiveGroup *g)
 
bool destroyPointGroup (const char *name)
 
bool destroyPrimitiveGroup (const char *name)
 
bool loadTrimRegions (int n, UT_IStream &is)
 
int saveTrimRegions (int n, std::ostream &os, int b=0) const
 
bool loadTrimRegions (UT_JSONParser &p, const GA_LoadMap &map)
 
bool saveTrimRegions (UT_JSONWriter &w, const GA_SaveMap &map) const
 
int64 getMemoryUsage (bool inclusive) const override
 Compute memory usage (includes all shared memory) More...
 
void countMemory (UT_MemoryCounter &counter, bool inclusive) const override
 
- 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_Attribute * getP ()
 Convenience method to access the P attribute. More...
 
const GA_Attribute * getP () 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< T > getPos3T (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_Primitive * appendPrimitive (const GA_PrimitiveTypeId &type)
 Append a primitive by GA_PrimitiveTypeId. More...
 
GA_Primitive * appendPrimitive (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)
 
bool destroyPrimitiveIndex (GA_Index index, bool and_points=false)
 
bool destroyPrimitive (GA_Primitive &prim, 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_IndexMap & getIndexMap (GA_AttributeOwner owner) const
 
GA_IndexMap & getIndexMap (GA_AttributeOwner owner)
 
const GA_IndexMap & getPointMap () const
 
const GA_IndexMap & getVertexMap () const
 
const GA_IndexMap & getPrimitiveMap () const
 
const GA_IndexMap & getGlobalMap () const
 
const GA_PrimitiveList & getPrimitiveList () const
 
GA_PrimitiveList & getPrimitiveList ()
 
GA_AttributeSet & getAttributes ()
 
const GA_AttributeSet & getAttributes () const
 
GA_Topology & getTopology ()
 
const GA_Topology & getTopology () 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)
 
void markDirty (bool bumpalldataid)
 
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_Attribute * createTupleAttribute (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_Attribute * createTupleAttribute (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_Attribute * createStringAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, const UT_Options *create_args=nullptr, const GA_AttributeOptions *attribute_options=nullptr)
 
GA_Attribute * createStringAttribute (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_Attribute * findAttribute (GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_size)
 
SYS_FORCE_INLINE GA_Attribute * findAttribute (const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_size)
 
SYS_FORCE_INLINE GA_Attribute * findAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findAttribute (GA_AttributeOwner owner, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findPointAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findPointAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findVertexAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findVertexAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findPrimitiveAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findPrimitiveAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findGlobalAttribute (GA_AttributeScope s, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_Attribute * findGlobalAttribute (const UT_StringRef &name)
 
GA_ElementGroup * createElementGroup (GA_AttributeOwner owner, const UT_StringHolder &name, bool ordered=false)
 
GA_ElementGroup * createInternalElementGroup (GA_AttributeOwner owner, bool ordered=false)
 
GA_ElementGroup * findElementGroup (GA_AttributeOwner owner, const UT_StringRef &name)
 
const GA_ElementGroup * findElementGroup (GA_AttributeOwner owner, const UT_StringRef &name) const
 
const GA_ElementGroupTable & getElementGroupTable (GA_AttributeOwner owner) const
 
SYS_FORCE_INLINE
GA_ElementGroupTable & 
getElementGroupTable (GA_AttributeOwner owner)
 
GA_GroupTable * getGroupTable (GA_GroupType group_type)
 
const GA_GroupTable * getGroupTable (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_PointGroup * findPointGroup (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_VertexGroup * findVertexGroup (const UT_StringRef &name)
 
SYS_FORCE_INLINE
GA_PrimitiveGroup * 
findPrimitiveGroup (const UT_StringRef &name)
 
GA_EdgeGroup * createEdgeGroup (const UT_StringHolder &name)
 
GA_EdgeGroup * createInternalEdgeGroup ()
 
const GA_EdgeGroup * findEdgeGroup (const UT_StringRef &name) const
 
GA_EdgeGroup * findEdgeGroup (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_IntrinsicManager & getIntrinsicManager () 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...
 
virtual int64 getDeviceMemoryUsage () const
 
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
 
virtual GA_Detail * cloneEmptyDetail (bool clone_attributes) const =0
 
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)
 
virtual void clearCaches ()
 
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_IO * findIO (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...
 
virtual void statVolumes (GA_Stat &stat, uint level=0xffff) const
 Fill out only the volume information. More...
 
const GA_PrimitiveFactory & getPrimitiveFactory () 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_AttributeInstanceMatrix & getInstanceMatrix () const
 Return cached attribute instance matrix pointer. More...
 
void clearInstanceMatrix ()
 
bool isPrimary () const
 
GA_CEAttributePtr getTopologyCEAttribute (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...
 
GA_CEAttributeAccessorPtr getTopologyCEAttributeAccessor (GA_Topology::TopologyCE topotype, GA_StorageClass storage, GA_Precision precision, int &tuplesize, bool isarray, bool read, bool write)
 
GA_CEAttributeAccessorPtr getTopologyCEAttributeAccessorR (GA_Topology::TopologyCE topotype, GA_StorageClass storage, GA_Precision precision, int &tuplesize, bool isarray)
 
virtual UT_UniquePtr
< GA_CEAttribute > 
buildTopologyCEAttribute (GA_Topology::TopologyCE topotype, GA_StorageClass storage, GA_Precision precision, int &tuplesize, bool isarray, bool read, bool write) const
 
void flushCEWriteCaches ()
 
void flushCECaches ()
 
void clearCECaches ()
 
void stealCEBuffers (const GA_Detail &srcdetail)
 
void copyCEAttributes (const GA_Detail &srcdetail, bool include_topology=true)
 
void copyChangedNonTransforming (const GA_Detail *inputgeo, GA_AttributeOwner owner)
 
void incrementMetaCacheCount ()
 
int64 getMetaCacheCount () const
 
GA_Precision getPreferredPrecision () const
 
void setPreferredPrecision (GA_Precision prec)
 
template<>
GA_API bool getAttributeAsArray (const GA_Attribute *atr, const GA_Range &range, UT_Array< UT_StringHolder > &result) const
 
template<>
GA_API bool setAttributeFromArray (GA_Attribute *atr, const GA_Range &range, const UT_Array< UT_StringHolder > &result)
 
template<>
GA_API bool getAttributeAsArray (const GA_Attribute *atr, const GA_Range &range, UT_Array< UT_OptionsHolder > &result) const
 
template<>
GA_API bool setAttributeFromArray (GA_Attribute *atr, const GA_Range &range, const UT_Array< UT_OptionsHolder > &result)
 
void stashAll ()
 
void destroyStashed ()
 
const GA_Attribute * getPwAttribute () const
 
GA_Attribute * getPwAttribute ()
 
SYS_FORCE_INLINE GA_Primitive * getPrimitive (GA_Offset prim_off)
 
SYS_FORCE_INLINE const
GA_Primitive * 
getPrimitive (GA_Offset prim_off) const
 
GA_Primitive * getPrimitiveByIndex (GA_Index prim_idx)
 
const GA_Primitive * getPrimitiveByIndex (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_AttributeDict & getAttributeDict (GA_AttributeOwner owner) const
 
GA_Attribute * createAttribute (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_Attribute * createAttribute (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_PointGroupTable & pointGroups ()
 
const GA_PointGroupTable & pointGroups () const
 
GA_PrimitiveGroupTable & primitiveGroups ()
 
const GA_PrimitiveGroupTable & primitiveGroups () const
 
GA_VertexGroupTable & vertexGroups ()
 
const GA_VertexGroupTable & vertexGroups () const
 
GA_EdgeGroupTable & edgeGroups ()
 
const GA_EdgeGroupTable & edgeGroups () const
 
GA_PointGroup * newPointGroup (const UT_StringHolder &name)
 
GA_VertexGroup * newVertexGroup (const UT_StringHolder &name)
 
GA_PrimitiveGroup * newPrimitiveGroup (const UT_StringHolder &name)
 
GA_EdgeGroup * newEdgeGroup (const UT_StringHolder &name)
 
GA_PointGroup * newInternalPointGroup ()
 
GA_VertexGroup * newInternalVertexGroup ()
 
GA_PrimitiveGroup * newInternalPrimitiveGroup ()
 
GA_EdgeGroup * newInternalEdgeGroup ()
 
GA_PointGroup * newDetachedPointGroup () const
 
GA_PrimitiveGroup * newDetachedPrimitiveGroup () const
 Be sure to do "delete group;" to clean it up. More...
 
GA_VertexGroup * newDetachedVertexGroup () const
 Be sure to do "delete group;" to clean it up. More...
 
GA_EdgeGroup * newDetachedEdgeGroup () 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_PointGroup * newPointGroup (const UT_StringHolder &name, bool internal)
 
GA_PrimitiveGroup * newPrimitiveGroup (const UT_StringHolder &name, bool internal)
 
GA_VertexGroup * newVertexGroup (const UT_StringHolder &name, bool internal)
 
GA_EdgeGroup * newEdgeGroup (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_Options * getIntrinsicOptions (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
 

Static Public Member Functions

static void registerFactory ()
 
- 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= '(')
 

Friends

std::ostream & operator<< (std::ostream &os, const GD_Detail &d)
 

Additional Inherited Members

- Static Public Attributes inherited from GA_Detail
static const int64 INVALID_CACHE_COUNT = -1
 
- 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
 
virtual void privateComputeNormal (const GA_RWHandleV3 &normalattrib, const GA_Group *group, const float cuspangledegrees, const int method) const
 
void splitAnyFloat4P ()
 
void setUniqueId (exint i)
 
void setMetaCacheCount (int64 i)
 
virtual GA_Size localIntrinsicTupleSize (GA_IntrinsicEval &eval) const
 
virtual GA_Size localGetIntrinsicS (GA_IntrinsicEval &eval, UT_String &value) const
 
virtual GA_Size localGetIntrinsicSA (GA_IntrinsicEval &eval, UT_StringArray &value) const
 
virtual GA_Size localGetIntrinsicD (GA_IntrinsicEval &eval, UT_OptionsHolder &value) const
 
virtual GA_Size localGetIntrinsicDA (GA_IntrinsicEval &eval, UT_Array< UT_OptionsHolder > &value) const
 
virtual GA_Size localGetIntrinsicI (GA_IntrinsicEval &eval, int64 *value, GA_Size size) const
 
virtual GA_Size localGetIntrinsicF (GA_IntrinsicEval &eval, fpreal64 *value, GA_Size size) const
 
virtual GA_Size localSetIntrinsicS (GA_IntrinsicEval &eval, const char *value)
 
virtual GA_Size localSetIntrinsicSA (GA_IntrinsicEval &eval, const UT_StringArray &value)
 
virtual GA_Size localSetIntrinsicSS (GA_IntrinsicEval &eval, const char **value, GA_Size size)
 
virtual GA_Size localSetIntrinsicDA (GA_IntrinsicEval &eval, const UT_Array< UT_OptionsHolder > &value)
 
virtual GA_Size localSetIntrinsicDS (GA_IntrinsicEval &eval, const UT_OptionsHolder *value, GA_Size size)
 
virtual GA_Size localSetIntrinsicI (GA_IntrinsicEval &eval, const int64 *value, GA_Size size)
 
virtual GA_Size localSetIntrinsicF (GA_IntrinsicEval &eval, const fpreal64 *value, GA_Size size)
 
- Static Protected Member Functions inherited from GA_Detail
static void finishLoadH9 (const UT_Array< GA_AttribLoadDataH9 > &attribs)
 

Detailed Description

Definition at line 29 of file GD_Detail.h.

Member Typedef Documentation

Definition at line 188 of file GD_Detail.h.

Constructor & Destructor Documentation

GD_Detail::GD_Detail ( )
GD_Detail::~GD_Detail ( )
override

Member Function Documentation

int GD_Detail::altitude ( ) const
inline

Definition at line 184 of file GD_Detail.h.

void GD_Detail::altitude ( int  a)
inline

Definition at line 185 of file GD_Detail.h.

GD_TrimRegion* GD_Detail::appendOuterLoop ( float  tol = 0,
int  checkduplicate = 1 
)
GA_Offset GD_Detail::appendPointOffset ( )
inline

Definition at line 81 of file GD_Detail.h.

GA_Offset GD_Detail::appendPointOffset ( const UT_Vector3 &  pos)
inline

Definition at line 83 of file GD_Detail.h.

GD_Primitive* GD_Detail::appendPrimitive ( const GA_PrimitiveTypeId &  type)
inline

Definition at line 107 of file GD_Detail.h.

GD_TrimRegion* GD_Detail::appendTrimRegion ( int  opencasual = 0)
void GD_Detail::clearAndDestroy ( )
void GD_Detail::countMemory ( UT_MemoryCounter &  counter,
bool  inclusive 
) const
overridevirtual

Count memory usage using a UT_MemoryCounter in order to count shared memory correctly. If inclusive is true, the size of this object is counted, else only memory owned by this object is counted. If this is pointed to by the calling object, inclusive should be true. If this is contained in the calling object, inclusive should be false. (Its memory was already counted in the size of the calling object.)

Reimplemented from GA_Detail.

Reimplemented in GEO_Profiles.

void GD_Detail::createTrimRegion ( GD_TrimLoop *  loop)
void GD_Detail::deleteTrimRegion ( GD_TrimRegion &  region)
void GD_Detail::deleteTrimRegion ( unsigned int  num)
void GD_Detail::destroyPointGroup ( GA_PointGroup *  g)
inline

Definition at line 198 of file GD_Detail.h.

bool GD_Detail::destroyPointGroup ( const char *  name)
inline

Definition at line 202 of file GD_Detail.h.

void GD_Detail::destroyPrimitiveGroup ( GA_PrimitiveGroup *  g)
inline

Definition at line 200 of file GD_Detail.h.

bool GD_Detail::destroyPrimitiveGroup ( const char *  name)
inline

Definition at line 205 of file GD_Detail.h.

bool GD_Detail::destroyPrimitiveOffset ( GA_Offset  offset,
bool  and_points = false 
)
overridevirtual

Destroy the given primitive. Optionally destroy any referenced points that will no longer be in use after this operation. Note that this option requires full topology.

Reimplemented from GA_Detail.

GA_Size GD_Detail::destroyPrimitiveOffsets ( const GA_Range &  it,
bool  and_points = false 
)
overridevirtual

Destroy the given primitives. Optionally destroy any referenced points that will no longer be in use after this operation. Note that this option requires full topology.

Reimplemented from GA_Detail.

void GD_Detail::destroyTrimRegions ( int  deletecurves = 1)
GD_TrimLoop* GD_Detail::generateTrimLoops ( const UT_BoundingRect &  brect,
float  offset = 1e-4F,
float  tol = 1e-4F 
)
virtual void GD_Detail::getDomainBBox ( float &  u0,
float &  v0,
float &  u1,
float &  v1 
) const
pure virtual

Implemented in GEO_Profiles.

void GD_Detail::getDomainBounds ( UT_BoundingRect &  rect) const
inline

Definition at line 154 of file GD_Detail.h.

GD_Primitive* GD_Detail::getGDPrimitive ( GA_Offset  offset)
inline

Definition at line 86 of file GD_Detail.h.

const GD_Primitive* GD_Detail::getGDPrimitive ( GA_Offset  offset) const
inline

Definition at line 92 of file GD_Detail.h.

int64 GD_Detail::getMemoryUsage ( bool  inclusive) const
overridevirtual

Compute memory usage (includes all shared memory)

Reimplemented from GA_Detail.

Reimplemented in GEO_Profiles.

int GD_Detail::getNumFaces ( int *  visible = 0) const
bool GD_Detail::getPointBBox ( UT_BoundingBox *  bbox,
const GA_PointGroup *  g = nullptr 
) const
bool GD_Detail::getPointBBox ( UT_BoundingBox &  bbox,
const UT_Matrix4R &  transform,
const GA_PointGroup *  g = nullptr 
) const
bool GD_Detail::getPointBSphere ( UT_BoundingSphere *  bsphere,
const GA_PointGroup *  g = nullptr,
bool  accurate_bounds = false 
) const
int GD_Detail::hasTrimLoops ( ) const
int GD_Detail::hasTrimRegions ( ) const
GA_Offset GD_Detail::insertPointOffset ( GA_Index  before = GA_INVALID_INDEX)
GA_Offset GD_Detail::insertPointOffset ( const UT_Vector3 &  pos,
GA_Index  before = GA_INVALID_INDEX 
)
GD_Primitive* GD_Detail::insertPrimitive ( const GA_PrimitiveTypeId &  type,
const GD_Primitive *  before = 0 
)
GA_Detail::IOStatus GD_Detail::loadH9 ( UT_IStream &  is,
const GA_LoadOptions *  options 
)
bool GD_Detail::loadTrimRegions ( int  n,
UT_IStream &  is 
)
bool GD_Detail::loadTrimRegions ( UT_JSONParser &  p,
const GA_LoadMap &  map 
)
void GD_Detail::merge ( const GD_Detail &  src,
bool  onlyvisible = false 
)
GA_PointGroup* GD_Detail::newInternalPointGroup ( )
GA_PrimitiveGroup* GD_Detail::newInternalPrimitiveGroup ( )
GA_PointGroup* GD_Detail::newPointGroup ( const char *  name,
int  internal 
)
GA_PrimitiveGroup* GD_Detail::newPrimitiveGroup ( const char *  name,
int  internal 
)
static void GD_Detail::registerFactory ( )
static
GA_Detail::IOStatus GD_Detail::saveH9Stream ( std::ostream &  os,
bool  binary,
const GA_SaveOptions *  options 
) const
int GD_Detail::saveTrimRegions ( int  n,
std::ostream &  os,
int  b = 0 
) const
bool GD_Detail::saveTrimRegions ( UT_JSONWriter &  w,
const GA_SaveMap &  map 
) const
void GD_Detail::transform ( const UT_Matrix3 &  matx,
GA_PrimitiveGroup *  primgroup = 0,
GA_PointGroup *  pointclosure = 0 
)
void GD_Detail::transformPoints ( const UT_Matrix3 &  matx,
GA_PointGroup *  pointgroup = 0 
)
void GD_Detail::translate ( const UT_Vector2 &  delta,
GA_PrimitiveGroup *  primgroup = 0,
GA_PointGroup *  pointclosure = 0 
)
void GD_Detail::translatePoints ( const UT_Vector2 &  delta,
GA_PointGroup *  pointGroup = 0 
)
const UT_ValArray<GD_TrimRegion*>& GD_Detail::trimRegions ( ) const
inline

Definition at line 173 of file GD_Detail.h.

UT_ValArray<GD_TrimRegion*>& GD_Detail::trimRegions ( )
inline

Definition at line 191 of file GD_Detail.h.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const GD_Detail &  d 
)
friend

Definition at line 232 of file GD_Detail.h.


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