216 void insert(node *ins, node *first, node *last);
218 node *createNode(
double x,
double y, node *next, node *prev, node *nextPoly,
219 node *neighbor, nodeStatus st,
int entry,
int visited,
double alpha);
220 node *next_node(node *p);
221 node *prev_node(node *p);
222 node *last_node(node *p);
223 node *first(node *p);
225 double dist(
double x1,
double y1,
double x2,
double y2);
227 int testIfIntersect(node *p1, node *p2, node *q1, node *q2,
228 double *alpha_p,
double *alpha_q,
double *xint,
double *yint);
230 int testIfCoincident(node *p1, node *p2, node *q1, node *q2,
double *alpha_1,
double *alpha_2);
231 int testPoint(node *poly,
double x,
double y)
const;
233 bool belongs(node *n, node *v1, node *v2);
234 bool intersectionExist(node *p1, node *p2, node *q1, node *q2);
235 void removeIntersectionIfExist(node *p1, node *p2, node *q1, node *q2);
236 int vertex2IntersectionVertex(node *v, node *l1, node *l2);
237 void testNewIntersectionVertexEdgeCollapse(node *v, node *l1, node *l2);
238 bool testCollapsedEdge(node *p1, node *p2);
239 void merge2vertex(node *v1, node *v2);
241 void printYourself();
#define OOFEG_DEBUG_LAYER