12 #ifndef __GD_Detail_h__
13 #define __GD_Detail_h__
35 static void registerFactory();
40 void clearAndDestroy();
52 void merge(
const GD_Detail &
src,
bool onlyvisible =
false);
82 {
return insertPointOffset(); }
84 {
return insertPointOffset(pos); }
109 return insertPrimitive(type, 0);
113 bool and_points =
false)
override;
116 bool and_points =
false)
override;
124 void deleteTrimRegion(
unsigned int num);
128 void destroyTrimRegions(
int deletecurves=1);
143 bool getPointBSphere(
146 bool accurate_bounds =
false)
const;
152 virtual void getDomainBBox(
float &u0,
float &
v0,
153 float &
u1,
float &
v1)
const = 0;
156 getDomainBBox(rect.
vals[0][0], rect.
vals[1][0],
161 int getNumFaces(
int *visible = 0)
const;
166 int hasTrimLoops()
const;
170 int hasTrimRegions()
const;
174 {
return myTrimRegions; }
180 GD_TrimRegion *appendOuterLoop(
float tol = 0,
int checkduplicate = 1);
211 int saveTrimRegions(
int n, std::ostream &os,
int b=0)
const;
219 bool inclusive)
const override;
226 bool savePointsH9(std::ostream &os,
int binary)
const;
227 bool savePointH9(std::ostream &os,
int binary,
GA_Offset offset)
const;
bool destroyPrimitiveGroup(const char *name)
UT_ValArray< GD_TrimRegion * > & trimRegions()
Used to pass options and map offset values during saving.
GA_PointGroup * newInternalPointGroup()
const GLuint GLenum const void * binary
GD_Primitive * appendPrimitive(const GA_PrimitiveTypeId &type)
GLboolean GLboolean GLboolean GLboolean a
GD_Primitive * getGDPrimitive(GA_Offset offset)
JSON reader class which handles parsing of JSON or bJSON files.
IOStatus saveClassic(const char *, const GA_SaveOptions *) const
Class which writes ASCII or binary JSON streams.
const GD_Primitive * getGDPrimitive(GA_Offset offset) const
GA_PrimitiveGroup * newInternalPrimitiveGroup()
GA_PointGroup * newPointGroup(const UT_StringHolder &name)
SYS_FORCE_INLINE bool GAisValid(GA_Size v)
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual int64 getMemoryUsage(bool inclusive) const
Compute memory usage (includes all shared memory)
A range of elements in an index-map.
GA_PrimitiveGroup * newPrimitiveGroup(const UT_StringHolder &name)
GD_Primitive GB_MACRO_PRIM_TYPE
void destroyPrimitiveGroup(GA_PrimitiveGroup *g)
SYS_FORCE_INLINE bool destroyElementGroup(GA_AttributeOwner owner, const UT_StringRef &name)
const UT_ValArray< GD_TrimRegion * > & trimRegions() const
GLuint const GLchar * name
GA_Offset appendPointOffset()
GLboolean GLboolean GLboolean b
GA_Size GA_Index
Define the strictness of GA_Offset/GA_Index.
GA_API const UT_StringHolder transform
void getDomainBounds(UT_BoundingRect &rect) const
friend std::ostream & operator<<(std::ostream &os, const GD_Detail &d)
SYS_FORCE_INLINE const GA_Primitive * get(GA_Offset off) const
virtual void countMemory(UT_MemoryCounter &counter, bool inclusive) const
virtual GA_Size destroyPrimitiveOffsets(const GA_Range &it, bool and_points=false)
const GA_PrimitiveList & getPrimitiveList() const
GA_Offset appendPointOffset(const UT_Vector3 &pos)
Container class for all geometry.
void destroyPointGroup(GA_PointGroup *g)
GLubyte GLubyte GLubyte GLubyte w
virtual bool destroyPrimitiveOffset(GA_Offset offset, bool and_points=false)
PUGI__FN char_t * translate(char_t *buffer, const char_t *from, const char_t *to, size_t to_length)
void setPos2(GA_Offset ptoff, const UT_Vector2 &pos)
Set P from a UT_Vector2.
Class to specify options for loading geometry.
bool destroyPointGroup(const char *name)