|
template<typename Ring > |
Node * | linkedList (const Ring &points, const bool clockwise) |
|
Node * | filterPoints (Node *start, Node *end=nullptr) |
|
void | earcutLinked (Node *ear, int pass=0) |
|
bool | isEar (Node *ear) |
|
bool | isEarHashed (Node *ear) |
|
Node * | cureLocalIntersections (Node *start) |
|
void | splitEarcut (Node *start) |
|
template<typename Polygon > |
Node * | eliminateHoles (const Polygon &points, Node *outerNode) |
|
void | eliminateHole (Node *hole, Node *outerNode) |
|
Node * | findHoleBridge (Node *hole, Node *outerNode) |
|
bool | sectorContainsSector (const Node *m, const Node *p) |
|
void | indexCurve (Node *start) |
|
Node * | sortLinked (Node *list) |
|
int32_t | zOrder (const double x_, const double y_) |
|
Node * | getLeftmost (Node *start) |
|
bool | pointInTriangle (double ax, double ay, double bx, double by, double cx, double cy, double px, double py) const |
|
bool | isValidDiagonal (Node *a, Node *b) |
|
double | area (const Node *p, const Node *q, const Node *r) const |
|
bool | equals (const Node *p1, const Node *p2) |
|
bool | intersects (const Node *p1, const Node *q1, const Node *p2, const Node *q2) |
|
bool | onSegment (const Node *p, const Node *q, const Node *r) |
|
int | sign (double val) |
|
bool | intersectsPolygon (const Node *a, const Node *b) |
|
bool | locallyInside (const Node *a, const Node *b) |
|
bool | middleInside (const Node *a, const Node *b) |
|
Node * | splitPolygon (Node *a, Node *b) |
|
template<typename Point > |
Node * | insertNode (std::size_t i, const Point &p, Node *last) |
|
void | removeNode (Node *p) |
|