22 #ifndef __GEO_PrimTube_H__
23 #define __GEO_PrimTube_H__
30 #define GEO_TUBE_XSECT_BOT_XP 0
31 #define GEO_TUBE_XSECT_BOT_XN 1
32 #define GEO_TUBE_XSECT_BOT_ZP 2
33 #define GEO_TUBE_XSECT_BOT_ZN 3
34 #define GEO_TUBE_XSECT_MID_XP 4
35 #define GEO_TUBE_XSECT_MID_XN 5
36 #define GEO_TUBE_XSECT_MID_ZP 6
37 #define GEO_TUBE_XSECT_MID_ZN 7
38 #define GEO_TUBE_XSECT_TOP_XP 8
39 #define GEO_TUBE_XSECT_TOP_XN 9
40 #define GEO_TUBE_XSECT_TOP_ZP 10
41 #define GEO_TUBE_XSECT_TOP_ZN 11
42 #define GEO_TUBE_XSECT_BOT_XN2 12
43 #define GEO_TUBE_XSECT_TOP_XN2 13
44 #define GEO_TUBE_XSECT_BOT_XP2 14
45 #define GEO_TUBE_XSECT_TOP_XP2 15
46 #define GEO_TUBE_XSECT_BOT_ZN2 16
47 #define GEO_TUBE_XSECT_TOP_ZN2 17
48 #define GEO_TUBE_XSECT_BOT_ZP2 18
49 #define GEO_TUBE_XSECT_TOP_ZP2 19
50 #define GEO_TUBE_XSECT_BOT_CTR 20
51 #define GEO_TUBE_XSECT_TOP_CTR 21
53 #define GEO_TUBE_GUIDEEDGE_BX 0
54 #define GEO_TUBE_GUIDEEDGE_BZ 1
55 #define GEO_TUBE_GUIDEEDGE_MX 2
56 #define GEO_TUBE_GUIDEEDGE_MZ 3
57 #define GEO_TUBE_GUIDEEDGE_TX 4
58 #define GEO_TUBE_GUIDEEDGE_TZ 5
59 #define GEO_TUBE_GUIDEEDGE_XN 6
60 #define GEO_TUBE_GUIDEEDGE_XP 7
61 #define GEO_TUBE_GUIDEEDGE_ZN 8
62 #define GEO_TUBE_GUIDEEDGE_ZP 9
63 #define GEO_TUBE_GUIDEEDGE_Z 10
89 float u,
float v=0,
float w=0)
const override;
121 float getCaptureRegionWeight(
const UT_Vector3 &pos,
123 static float computeCaptureRegionWeight(
const UT_Vector3 &pos,
124 float bcap,
float tcap,
float taperx,
125 float taperz,
float min_weight,
141 bool savePrivateH9(std::ostream &os,
142 bool binary) const override;
149 bool evaluatePointRefMap(
156 float u,
float v = 0,
157 unsigned du=0,
unsigned dv=0) const override;
166 friend std::ostream &operator<<(std::ostream &os, const
GEO_PrimTube &d)
fpreal calcPerimeter() const override
const GLuint GLenum const void * binary
fpreal calcVolume(const UT_Vector3 &) const override
GLboolean GLboolean GLboolean GLboolean a
fpreal calcArea() const override
void copyPrimitive(const GEO_Primitive *src) override
#define GA_INVALID_OFFSET
void setEndCaps(int onOff)
This class provides a way to manage a reference to an attribute permitting Read-Only access...
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.
GLboolean GLboolean GLboolean b
void copySubclassData(const GA_Primitive *source) override
GEO_Primitive * copy(int preserve_shared_pts=0) const override
static const UT_Array< GA_AttribSaveDataH9 > & theEmptySaveAttribs
Convience objects to pass as arguments to saveH9()/loadH9().
static GA_PrimitiveFamilyMask buildFamilyMask()
static GA_PrimitiveFamilyMask buildFamilyMask()
Return the family mask for all quadric sub-classes.
virtual int evaluateNormalVector(UT_Vector3 &nml, float u, float v=0, float w=0) const
virtual void addToBSphere(UT_BoundingSphere *bsphere) const
GLubyte GLubyte GLubyte GLubyte w
bool getBBox(UT_BoundingBox *bbox) const override=0
virtual bool hasGuideEdge(int edgeid, UT_Vector3 &a, UT_Vector3 &b) const
GA_DECLARE_INTRINSICS(override)
virtual bool hasXsectPoint(int pointid, UT_Vector3 &p) const