11 #ifndef __GT_PrimPatchMesh__
12 #define __GT_PrimPatchMesh__
52 init(basis, nu, uwrap, nv, vwrap, vertex, uniform, detail);
58 , myUWrap(src.myUWrap)
60 , myVWrap(src.myVWrap)
61 , myVertexOffsets(src.myVertexOffsets)
62 , myVertex(src.myVertex)
63 , myUniform(src.myUniform)
64 , myDetail(src.myDetail)
74 , myUWrap(src.myUWrap)
76 , myVWrap(src.myVWrap)
77 , myVertexOffsets(src.myVertexOffsets)
91 const char *
className()
const override {
return "GT_PrimPatchMesh"; }
95 return myNu->save(*j) &&
99 myVertexOffsets.save(*j) &&
106 int nsegments)
const override;
128 {
return myNu ? myNu->entries():0; }
142 {
return myUniform; }
152 {
return myUniform; }
SIM_API const UT_StringHolder vertex
virtual int getMotionSegments() const =0
Keep track of merging of attribute maps.
GT_PrimPatchMesh(const GT_PrimPatchMesh &src, const GT_AttributeListHandle &vertex, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail)
GT_Size getPatchCount() const
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
GT_AttributeListHandle myUniform
A virtual container used by sphere, circle and tube meshes.
bool save(UT_JSONWriter &w) const override
virtual int getPrimitiveType() const
A mesh of linear or cubic patches.
GT_Basis getBasis() const
Class which writes ASCII or binary JSON streams.
GLdouble GLdouble GLdouble q
const GT_DataArrayHandle & getUWrap() const
const char * className() const override
GT_AttributeMerge * myUMerge
GT_PrimPatchMesh()
Default c-tor.
GT_PrimitiveHandle doSoftCopy() const override
const GT_AttributeListHandle & getVertexAttributes() const override
const GT_AttributeListHandle & getDetailAttributes() const override
GT_CountArray myVertexOffsets
GT_PrimPatchMesh(const GT_PrimPatchMesh &src)
const GT_DataArrayHandle & getNu() const
The base class for all GT primitive types.
virtual GT_PrimitiveHandle doHarden() const
virtual int64 getMemoryUsage() const =0
Processes primitives generated by refinement process.
const GT_DataArrayHandle & getNv() const
const GT_DataArrayHandle & getVWrap() const
const GT_AttributeListHandle & getDetail() const
GT_PrimPatchMesh(GT_Basis basis, const GT_DataArrayHandle &nu, const GT_DataArrayHandle &uwrap, const GT_DataArrayHandle &nv, const GT_DataArrayHandle &vwrap, const GT_AttributeListHandle &vertex, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail)
GT_DataArrayHandle myUWrap
bool saveAttributeLists(UT_JSONWriter &w) const
GT_AttributeListHandle myVertex
const GT_AttributeListHandle & getUniform() const
GLubyte GLubyte GLubyte GLubyte w
const GT_AttributeListHandle & getVertex() const
GT_AttributeListHandle myDetail
virtual GT_PrimitiveHandle doAttributeMerge(const GT_Primitive &src, const UT_StringMMPattern *vertex, const UT_StringMMPattern *point, const UT_StringMMPattern *uniform, const UT_StringMMPattern *detail) const
The virtual implementation of attribute merging.
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
const GT_AttributeListHandle & getUniformAttributes() const override
GT_DataArrayHandle myVWrap