17 #ifndef __GEO_Quadric_H__ 
   18 #define __GEO_Quadric_H__ 
  138                                         bool dry_run=
false) 
override;
 
  141                                         bool dry_run=
false) 
override;
 
  176     void                 assignVertex(
GA_Offset new_vtx, 
bool update_topology);
 
  195                             bool append_points=
true);
 
  198     void                 stashed(
bool beingstashed,
 
  204                                 float  ulength, 
float vlength,
 
  205                                 float &uparm, 
float &vparm) 
const override;
 
  207                                 float  ulength, 
float vlength,
 
  208                                 float &uparm, 
float &vparm,
 
  209                                 float tolerance) 
const override;
 
  212                                 float uparm, 
float vparm,
 
  213                                 float &ulength, 
float &vlength) 
const override;
 
  225     virtual bool        savePrivateH9(std::ostream &os, 
bool binary) 
const;
 
void setTransform(const UT_Matrix3 &m)
 
Definition of a geometry attribute. 
 
virtual GEO_Primitive * copy(int preserve_shared_pts=0) const 
 
SYS_FORCE_INLINE GA_Offset getPointOffset(GA_Size i) const 
 
virtual UT_Vector3 baryCenter() const 
 
virtual void copyPrimitive(const GEO_Primitive *src)=0
 
SYS_FORCE_INLINE GA_Index getPointIndex() const 
The fast point index accessor. 
 
SYS_FORCE_INLINE GA_Index getVertexIndex(GA_Size primvertexnum) const 
 
virtual UT_Vector3D computeNormalD() const =0
 
#define SYS_DEPRECATED_PUSH_DISABLE()
 
#define SYS_DEPRECATED_POP_DISABLE()
 
virtual void copySubclassData(const GA_Primitive *source)
 
SYS_FORCE_INLINE void setPos4(const UT_Vector4 &pos) const 
 
bool enlargeBoundingBox(UT_BoundingRect &b, const GA_Attribute *p) const override
 
const GLuint GLenum const void * binary
 
GLdouble GLdouble GLdouble z
 
SYS_FORCE_INLINE void setPointOffset(GA_Size i, GA_Offset ptoff)
 
SYS_FORCE_INLINE void setPos3(const UT_Vector3 &pos) const 
 
virtual GA_DereferenceStatus dereferencePoint(GA_Offset point, bool dry_run=false)=0
 
SYS_FORCE_INLINE void setVertexPoint(GA_Offset pt)
 
#define GA_DECLARE_INTRINSICS(OVERRIDE)
 
Abstract base class for a range membership query object. 
 
const UT_Matrix3 & getTransform() const 
 
virtual void unitToUnitLengthPair(float uparm, float vparm, float &ulength, float &vlength) const 
 
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
 
SYS_FORCE_INLINE GA_Size getFastVertexCount() const 
NOTE: Getting the vertex count of a quadric is rather unnecessary. 
 
virtual bool isDegenerate() const =0
Is the primitive degenerate. 
 
virtual bool enlargeBoundingSphere(UT_BoundingSphere &b, const GA_Attribute *P) const 
 
SYS_FORCE_INLINE UT_Vector3 getPos3(GA_Size i) const 
 
virtual void setLocalTransform(const UT_Matrix3D &matrix)
Set the local transform. The default implementation does nothing. 
 
GLint GLint GLsizei GLint GLenum GLenum type
 
GLsizei GLsizei GLchar * source
 
SYS_FORCE_INLINE UT_Vector4 getPos4(GA_Size i) const 
 
A handle to simplify manipulation of multiple attributes. 
 
#define GEO_FAMILY_QUADRIC
 
GLboolean GLboolean GLboolean b
 
GA_Size GA_Index
Define the strictness of GA_Offset/GA_Index. 
 
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 
 
SYS_FORCE_INLINE GA_Index getPointIndex(GA_Size i) const 
 
SYS_FORCE_INLINE void setPos3(GA_Size i, const UT_Vector3 &pos) const 
 
virtual void unitLengthToUnitPair(float ulength, float vlength, float &uparm, float &vparm) const 
 
SYS_FORCE_INLINE UT_Vector3 getPos3() const 
The fast point position accessor. 
 
virtual bool evaluateBaryCenterRefMap(GA_Offset result_vtx, GA_AttributeRefMap &map) const 
 
SYS_FORCE_INLINE void setPos4(GA_Size i, const UT_Vector4 &pos) const 
 
virtual void transform(const UT_Matrix4 &)
 
virtual void enlargePointBounds(UT_BoundingBox &box) const 
 
virtual void getLocalTransform(UT_Matrix3D &matrix) const 
 
virtual int detachPoints(GA_PointGroup &grp)=0
 
static const UT_Array< GA_AttribSaveDataH9 > & theEmptySaveAttribs
Convience objects to pass as arguments to saveH9()/loadH9(). 
 
void reverse() override
Reverse the order of vertices. 
 
bool saveH9(std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const override
 
SYS_FORCE_INLINE GA_Index getVertexIndex() const 
The fast vertex index accessor. 
 
virtual bool getBBox(UT_BoundingBox *bbox) const =0
 
SYS_FORCE_INLINE GA_Offset vertexPoint() const 
 
static GA_PrimitiveFamilyMask buildFamilyMask()
Return the family mask for all quadric sub-classes. 
 
SYS_FORCE_INLINE void setPointOffset(GA_Offset ptoff)
 
SYS_FORCE_INLINE GA_Offset getVertexOffset(GA_Size primvertexnum) const 
 
SYS_FORCE_INLINE GA_Offset getVertexOffset() const 
The fast vertex offset accessor. 
 
Container class for all geometry. 
 
bool isQuadric() const override
 
SYS_FORCE_INLINE UT_Vector4 getPos4() const 
 
SYS_FORCE_INLINE GA_Offset getPointOffset() const 
The fast point offset accessor. 
 
virtual void stashed(bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET)
 
friend std::ostream & operator<<(std::ostream &os, const GEO_Quadric &d)