11 #ifndef __GEO_PrimChannel_H__
12 #define __GEO_PrimChannel_H__
47 bool dry_run=
false)
override;
50 bool dry_run=
false)
override;
72 void normal(NormalComp &output)
const override;
73 void normal(NormalCompD &output)
const override;
84 if (myDataId != INVALID_DATA_ID)
125 float u_unit,
float=0,
126 unsigned du=0,
unsigned = 0)
const override;
136 static int64 INVALID_DATA_ID;
142 static int64 nextDataId();
friend std::ostream & operator<<(std::ostream &os, const GEO_PrimChannel &d)
virtual GEO_Primitive * copy(int preserve_shared_pts=0) const
virtual UT_Vector3 baryCenter() const
virtual void copyPrimitive(const GEO_Primitive *src)=0
Used to pass options and map offset values during saving.
virtual UT_Vector3D computeNormalD() const =0
virtual void copySubclassData(const GA_Primitive *source)
SYS_FORCE_INLINE void bumpDataId()
virtual GA_DereferenceStatus dereferencePoint(GA_Offset point, bool dry_run=false)=0
JSON reader class which handles parsing of JSON or bJSON files.
void reverse() override=0
Reverse the order of vertices.
#define GA_DECLARE_INTRINSICS(OVERRIDE)
Class which writes ASCII or binary JSON streams.
Abstract base class for a range membership query object.
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual UT_Vector3 computeNormal() const =0
Return a normal vector for the primitive.
#define GA_INVALID_OFFSET
virtual void normal(NormalComp &output) const =0
virtual bool isDegenerate() const =0
Is the primitive degenerate.
~GEO_PrimChannel() override
SYS_FORCE_INLINE int64 getDataId() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
SYS_FORCE_INLINE void assignNewDataId()
virtual const GA_PrimitiveJSON * getJSON() const =0
GLsizei GLsizei GLchar * source
Provide a JSON interface to a primitive.
A handle to simplify manipulation of multiple attributes.
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 int detachPoints(GA_PointGroup &grp)=0
static const UT_Array< GA_AttribSaveDataH9 > & theEmptySaveAttribs
Convience objects to pass as arguments to saveH9()/loadH9().
virtual bool getBBox(UT_BoundingBox *bbox) const =0
virtual bool evaluatePointRefMap(GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0
Container class for all geometry.
GLubyte GLubyte GLubyte GLubyte w
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)