24#ifndef __ODGITESSELATOR_H_INCLUDED__
25#define __ODGITESSELATOR_H_INCLUDED__
36 #define ODGT_NAMESPACE OdGeTess
37 #define ODGT_PTRTYPE OdSmartPtr<Contour>
38 #define ODGT_PARENT : public OdRxObject
129 pCntr2Ins->m_pNextContour = m_pNextContour;
130 return (m_pNextContour = pCntr2Ins);
155 double squareValue(
double*
tol = NULL,
double eps = 0,
bool isAccurately =
false)
const;
166 const void*
coords()
const {
return m_pCoords; }
167 bool is2d()
const {
return m_b2d; }
175 bool failed()
const {
return m_bFailed; }
182 double tol()
const {
return m_tol; }
188 friend class Contour;
210 m_pNextVertex = vert2;
217 int index()
const {
return m_nIndex; }
219 unsigned int edgeId()
const {
return m_nEdgeId; }
220 void setEdgeId(
unsigned int nEdgeId) { m_nEdgeId = nEdgeId; }
227 void setContour(Contour* pContour) { m_pContour = pContour; }
231inline bool Contour::isTriangle()
const
233 return (m_pFirstVertex && m_pFirstVertex->next()->next()==m_pFirstVertex->prev());
236inline bool Contour::isLineSeg()
const
238 return (m_pFirstVertex && m_pFirstVertex->next()==m_pFirstVertex->prev());
#define GE_TOOLKIT_EXPORT
const Vertex * head() const
static bool isIncomming(const Vertex *v1, const Vertex *v2)
const OdGePoint2d & point(int index) const
double squareTolerance(double eps=0, bool forAccurately=false) const
Vertex * addVertex(int index, unsigned int edgeId=0)
void breakContour(Vertex *vertex)
static ContourPtr create(const OdGePoint2d *coords ODGT_HOLDER)
ContourPtr copy(int bNested) const
static ContourPtr create(const OdGePoint3d *coords ODGT_HOLDER)
bool isInside(const OdGePoint2d &point) const
ContourPtr breakToConvex(unsigned int options, double eps=0)
ContourPtr m_pNextContour
bool normalize(double size, double tol)
bool intersections(const Vertex *pVert1, const OdGePoint2d *pVert2, Intersections &res, bool bNested) const
double squareValue(double *tol=NULL, double eps=0, bool isAccurately=false) const
bool vectorIntersects(const Vertex *v1, const Vertex *v2, bool bNested) const
void checkClockwiseOriented(int bNested, double tol)
static bool isIncommingR(const Vertex *v1, const Vertex *v2)
ContourPtr insert(Contour *pCntr2Ins)
static ContourPtr create(const void *coords, bool b2d ODGT_HOLDER)
bool isIncommingOrOnEdgeR(const Vertex *pV1, const Vertex *pV2) const
static void split(Vertex *v1, Vertex *v2)
bool hasInvalidHoles() const
void addVertex(Vertex *vertex)
void breakToConvex2(double size)
const void * coords() const
void splitPolygon(Vertex *pV1, Vertex *pV2)
double calcMaxCoordValue(double &size) const
bool intersections(const Vertex *vert1, const Vertex *vert2, Intersections &res, bool bNested) const
void delVertex(Vertex *vertex)
ContourPtr lastContour() const
void concatContours(Vertex *pC1vert, Contour *pContour2, Vertex *pC2vert)
void removeEqualVertexes(const OdGeTol &tol)
bool splitOnCoincidentPoint(double size)
void removeVertex(Vertex *vertex)
bool intersections_lv(const Vertex *vert1, const LocalVert *vert2, Intersections &res, bool bNested) const
void setContour(Contour *pContour)
const Vertex * next() const
const OdGePoint2d & point() const
void setIndex(int nIndex)
void setEdgeId(unsigned int nEdgeId)
ContourPtr contour() const
EdgesType edgesType() const
const Vertex * prev() const
unsigned int edgeId() const
GLfloat GLfloat GLfloat v2
bool operator<(const Intersection &op) const