58 if (
compV2InX(
v->getPrev()->head(),
v->head()) == -1 &&
70 if (
compV2InX(
v->getPrev()->head(),
v->head()) == 1 &&
85 if(polygon->
getPrev() == polygon)
94 topV = botV = polygon;
95 for(tempV = polygon->
getNext(); tempV != polygon; tempV = tempV->
getNext())
111 for(tempV=topV->
getNext(); tempV != botV; tempV = tempV->
getNext())
113 if(tempV->
head()[0] <
C->head()[0])
125 if(
A->head()[0] <
C->head()[0])
133 for(tempV=topV->
getPrev(); tempV != botV; tempV = tempV->
getPrev())
135 if(tempV->
head()[0] >
D->head()[0])
146 if(
B->head()[0] >
D->head()[0])
151 if(
C->head()[0] >=
D->head()[0])
168 if(
A == botV &&
B == botV)
179 for(tempV =
C; tempV !=
D; tempV = tempV->
getPrev())
181 if(tempV->
head()[0] >=
A->head()[0])
190 if(
E->head()[0]>
H->head()[0])
198 currentPolygon = ret_p1;
204 if(
G->head()[1] >=
A->head()[1])
209 for(tempV =
A->getNext(); tempV != botV; tempV = tempV->
getNext())
212 if(tempV->
head()[0] <
C->head()[0])
224 if(botV->
head()[0] <
C->head()[0])
242 for(tempV =
D; tempV !=
C; tempV = tempV->
getNext())
244 if(tempV->
head()[0] <=
B->head()[0])
252 if(
F->head()[0] <
G->head()[0])
261 currentPolygon = ret_p1;
263 if(
H ->
head()[1] >=
B->head()[1])
269 for(tempV =
B->getPrev(); tempV != botV; tempV = tempV->
getPrev())
271 if(tempV->
head()[0] >
D->head()[0])
282 if(botV->
head()[0] >
D->head()[0])
struct outqueuenode * head
#define G(r, i, a, b, c, d)
directedLine * insertPolygon(directedLine *newpolygon)
void connectDiagonal_2slines(directedLine *v1, directedLine *v2, directedLine **ret_p1, directedLine **ret_p2, directedLine *list)
Int compV2InY(Real A[2], Real B[2])
Int compV2InX(Real A[2], Real B[2])
static Int is_u_maximal(directedLine *v)
static Int is_u_minimal(directedLine *v)
directedLine * monoPolyPart(directedLine *polygon)