39 if (myConvexInfo) free(myConvexInfo);
40 if (myPointList) free(myPointList);
46 void convex(
exint maxsides,
bool allowinterrupt =
true,
47 bool avoiddegeneracy =
false);
51 virtual int getPointCount()
const = 0;
52 virtual void getPoint(
int num,
float &
x,
float &
y)
const = 0;
55 virtual void beginPolygon(
int npoints,
bool lastone) = 0;
56 virtual void polyVertex(
int num) = 0;
57 virtual void endPolygon() = 0;
64 virtual void earlyTermination();
99 virtual int64 getMemoryUsage(
bool inclusive)
const;
102 UT_ConvexPoint *polySetup(
bool avoiddegeneracy);
103 int leftOrRight(
int v1,
int v2,
int v3,
bool &double_back);
104 int leftOrRight(
int v1,
int v2,
int v3)
107 return leftOrRight(v1, v2, v3, double_back);
116 bool avoiddegeneracy);
121 bool cornerTest(
int side,
uint la,
uint lb,
125 uint chooseCoincidentIntruder(
139 UT_ConvexPoint *myConvexInfo;
141 uint myConvexEntries;
149 bool myAvoidDegeneracyPrev;
static bool isQuadConvex(const UT_Vector3 &p0, const UT_Vector3 &p1, const UT_Vector3 &p2, const UT_Vector3 &p3)
SIM_DerScalar dot(const SIM_DerVector3 &rhs) const
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat v2
GLfloat GLfloat GLfloat GLfloat v3
fpreal64 dot(const CE_VectorT< T > &a, const CE_VectorT< T > &b)
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
OPENVDB_API void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types. Also initializes blosc (if enabled).
GLboolean GLboolean GLboolean b
__hostdev__ uint64_t last(uint32_t i) const
static bool canSplitQuad02(const UT_Vector3 &p0, const UT_Vector3 &p1, const UT_Vector3 &p2, const UT_Vector3 &p3)
SIM_DerVector3 cross(const SIM_DerVector3 &lhs, const SIM_DerVector3 &rhs)