178 struct PartitionVertex {
185 PartitionVertex *previous;
186 PartitionVertex *next;
203 bool operator()(
long index1,
long index2);
214 typedef std::list<Diagonal> DiagonalList;
261 void UpdateState(
long a,
long b,
long w,
long i,
long j,
DPState2 **dpstates);
267 void AddDiagonal(
MonotoneVertex *vertices,
long *numvertices,
long index1,
long index2,
268 TPPLVertexType *vertextypes, std::set<ScanLineEdge>::iterator *edgeTreeIterators,
269 std::set<ScanLineEdge> *edgeTree,
long *helpers);
272 int TriangulateMonotone(
TPPLPoly *inPoly, TPPLPolyList *triangles);
288 int RemoveHoles(TPPLPolyList *inpolys, TPPLPolyList *outpolys);
300 int Triangulate_EC(
TPPLPoly *poly, TPPLPolyList *triangles);
315 int Triangulate_EC(TPPLPolyList *inpolys, TPPLPolyList *triangles);
327 int Triangulate_OPT(
TPPLPoly *poly, TPPLPolyList *triangles);
339 int Triangulate_MONO(
TPPLPoly *poly, TPPLPolyList *triangles);
353 int Triangulate_MONO(TPPLPolyList *inpolys, TPPLPolyList *triangles);
368 int MonotonePartition(TPPLPolyList *inpolys, TPPLPolyList *monotonePolys);
384 int ConvexPartition_HM(
TPPLPoly *poly, TPPLPolyList *parts);
401 int ConvexPartition_HM(TPPLPolyList *inpolys, TPPLPolyList *parts);
416 int ConvexPartition_OPT(
TPPLPoly *poly, TPPLPolyList *parts);