11 #ifndef __GEO_PrimTriFan__
12 #define __GEO_PrimTriFan__
75 bool binary)
const override;
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
fpreal calcPerimeter() const override
bool isDegenerate() const override
Is the primitive degenerate.
SYS_FORCE_INLINE GA_Size getVertexCount() const
Return the number of vertices used by this primitive.
virtual UT_Vector3D computeNormalD() const =0
const GLuint GLenum const void * binary
fpreal calcVolume(const UT_Vector3 &) const override
void reverse() override=0
Reverse the order of vertices.
GLfloat GLfloat GLfloat v2
fpreal calcArea() const override
virtual UT_Vector3 computeNormal() const =0
Return a normal vector for the primitive.
virtual bool loadPrivateH9(UT_IStream &is)=0
#define GA_INVALID_OFFSET
Triangle fan. All triangles share the first vertex.
virtual bool savePrivateH9(std::ostream &os, bool binary) const =0
bool saveH9(std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const override
~GEO_PrimTriFan() override
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
virtual const GA_PrimitiveJSON * getJSON() const =0
Provide a JSON interface to a primitive.
static GA_PrimitiveFamilyMask buildFamilyMask()
friend std::ostream & operator<<(std::ostream &os, const GEO_PrimTriFan &d)
exint getTriangleCount() const
Get number of triangles in the fan.
GEO_PrimTriFan(GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
static const UT_Array< GA_AttribSaveDataH9 > & theEmptySaveAttribs
Convience objects to pass as arguments to saveH9()/loadH9().
Container class for all geometry.
Definition of a geometric primitive.
static GA_PrimitiveFamilyMask buildFamilyMask()
void getTriangleVertices(exint tri, int &v0, int &v1, int &v2) const
Get the vertices for a single triangle in the fan.