12 #ifndef __GEO_PrimPasteDAG_h__
13 #define __GEO_PrimPasteDAG_h__
75 #if !GA_PRIMITIVE_VERTEXLIST
96 bool dry_run=
false)
override;
98 bool dry_run=
false)
override;
100 #if !GA_PRIMITIVE_VERTEXLIST
105 void *
data = 0)
const;
120 float ureal,
float vreal,
121 float &uunit,
float &vunit)
const override;
124 float uunit,
float vunit,
125 float &ureal,
float &vreal)
const override;
129 float v = 0,
float w = 0)
const override;
132 float *u0,
float *
u1,
133 float *
v0,
float *
v1)
override;
138 float u2,
float v2)
const override;
165 void stashed(
bool beingstashed,
178 #if !GA_PRIMITIVE_VERTEXLIST
191 unsigned du,
unsigned dv)
const override;
195 float u,
float v = 0,
196 unsigned du=0,
unsigned dv=0)
const override;
GLboolean GLboolean GLboolean b
Definition of a geometry attribute.
virtual UT_Vector3 baryCenter() const
virtual void copyPrimitive(const GEO_Primitive *src)=0
virtual void clearForDeletion()
Used to pass options and map offset values during saving.
SYS_FORCE_INLINE GA_Size getVertexCount() const
Return the number of vertices used by this primitive.
#define SYS_DEPRECATED_PUSH_DISABLE()
#define SYS_DEPRECATED_POP_DISABLE()
virtual void copySubclassData(const GA_Primitive *source)
const GLuint GLenum const void * binary
void reverse(I begin, I end)
~GEO_PrimPasteDAG() override
virtual GA_DereferenceStatus dereferencePoint(GA_Offset point, bool dry_run=false)=0
JSON reader class which handles parsing of JSON or bJSON files.
bool enlargeBoundingBox(UT_BoundingRect &b, const GA_Attribute *P) const override
Class which writes ASCII or binary JSON streams.
Abstract base class for a range membership query object.
virtual int parametricBBox(float u, float v, float *u0, float *u1, float *v0, float *v1)
static GA_PrimitiveFamilyMask buildFamilyMask()
virtual void realToUnitPair(float ureal, float vreal, float &uunit, float &vunit) const
virtual void swapVertexOffsets(const GA_Defragment &defrag)
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual bool loadH9(UT_IStream &is, const UT_Array< GA_AttribLoadDataH9 > &prim_attribs, const UT_Array< GA_AttribLoadDataH9 > &vtx_attribs)
virtual UT_Vector3 computeNormal() const =0
Return a normal vector for the primitive.
#define GA_INVALID_OFFSET
GLubyte GLubyte GLubyte GLubyte w
virtual bool isDegenerate() const =0
Is the primitive degenerate.
virtual bool enlargeBoundingSphere(UT_BoundingSphere &b, const GA_Attribute *P) const
GLfloat GLfloat GLfloat v2
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
GLsizei GLsizei GLchar * source
virtual const GA_PrimitiveJSON * getJSON() const =0
Provide a JSON interface to a primitive.
A handle to simplify manipulation of multiple attributes.
virtual int getBBox(UT_BoundingBox *bbox) const =0
virtual float uvDist(float u1, float v1, float u2, float v2) const
Defragmentation of IndexMaps.
void addPointRefToGroup(GA_PointGroup &grp) const
virtual GA_DereferenceStatus dereferencePoints(const GA_RangeMemberQuery &pt_q, bool dry_run=false)=0
virtual bool saveH9(std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const
virtual bool evaluateBaryCenterRefMap(GA_Offset result_vtx, GA_AttributeRefMap &map) const
virtual bool vertexApply(bool(*apply)(GA_Offset vtx, void *), void *data=0) const
bool isPointUsed(GA_Offset ptoff) const
virtual int detachPoints(GA_PointGroup &grp)=0
virtual void unitToRealPair(float uunit, float vunit, float &ureal, float &vreal) const
OIIO_API bool copy(string_view from, string_view to, std::string &err)
virtual int evaluateNormalVector(UT_Vector3 &nml, float u, float v=0, float w=0) const
SYS_FORCE_INLINE GA_Offset getVertexOffset(GA_Size primvertexnum) const
virtual bool evaluatePointRefMap(GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0
virtual void addToBSphere(UT_BoundingSphere *bsphere) const
Container class for all geometry.
Definition of a geometric primitive.
GLuint GLdouble GLdouble u2
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
virtual void isolate()
Method to isolate a pasted surface.
virtual int evaluatePointV4(UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const
virtual void stashed(bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET)
GEO_PrimPasteDAG(GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)