41#include "partitionX.h"
43#define CONCAVITY_ZERO 1.0e-6
52 Real* P = v->getPrev()->head();
53 Real* N = v->getNext()->head();
55 (compV2InX(T,P) != -1 &&
58 (compV2InX(T,P) != 1 &&
69 Real* A = v->getPrev()->head();
74 Bx = 10*(B[0] - A[0]);
75 By = 10*(B[1] - A[1]);
76 Cx = 10*(C[0] - A[0]);
77 Cy = 10*(C[1] - A[1]);
79 if(Bx*Cy - Cx*By < -CONCAVITY_ZERO)
return 1;
91 if(! isCuspX(v))
return 0;
114 for(temp =
polygon->getNext(); temp !=
polygon; temp = temp->getNext())
115 if(cuspTypeX(temp) == 1)
125 ret_n_interior_cusps = 0;
128 ret_interior_cusps[ret_n_interior_cusps++] =
polygon;
130 for(temp =
polygon->getNext(); temp !=
polygon; temp = temp->getNext())
131 if(cuspTypeX(temp) == 1)
133 ret_interior_cusps[ret_n_interior_cusps++] = temp;
140 Int is_minimal = ((compV2InX(cusp->head(), cusp->tail()) == -1)? 1:0);
143 for(temp = cusp->getNext(); temp != cusp; temp = temp->getNext())
145 if(compV2InX(cusp->head(), temp->head()) == 1)
151 for(temp = cusp->getNext(); temp != cusp; temp = temp->getNext())
153 if(compV2InX(cusp->head(), temp->head()) == -1)