11 #ifndef __GEO_PrimNull__
12 #define __GEO_PrimNull__
66 {
return sizeof(*this); }
79 return *theDefinition;
103 friend class GU_PrimitiveFactory;
bool isDegenerate() const override
virtual void copyPrimitive(const GEO_Primitive *src)=0
virtual UT_Vector3D computeNormalD() const =0
virtual GA_DereferenceStatus dereferencePoint(GA_Offset point, bool dry_run=false)=0
Abstract base class for a range membership query object.
virtual UT_Vector3 computeNormal() const =0
Return a normal vector for the primitive.
#define GA_INVALID_OFFSET
int intersectRay(const UT_Vector3 &, const UT_Vector3 &, float, float, float *, UT_Vector3 *, UT_Vector3 *, int, float *, float *, int) const override
void normal(NormalCompD &) const override
GEO_Primitive * convert(GEO_ConvertParms &, GA_PointGroup *) override
virtual void countMemory(UT_MemoryCounter &counter) const
virtual const GA_PrimitiveJSON * getJSON() const =0
Provide a JSON interface to a primitive.
void normal(NormalComp &) const override
static GA_PrimitiveFamilyMask buildFamilyMask()
A handle to simplify manipulation of multiple attributes.
const GA_PrimitiveDefinition & getTypeDef() const override
GEO_PrimNull(GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
int64 getMemoryUsage() const override
Report approximate memory usage.
virtual GA_DereferenceStatus dereferencePoints(const GA_RangeMemberQuery &pt_q, bool dry_run=false)=0
virtual int detachPoints(GA_PointGroup &grp)=0
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.
Definition of a geometric primitive.
GEO_Primitive * convertNew(GEO_ConvertParms &) override