Horizon
Loading...
Searching...
No Matches
TPPLPartition Class Reference

Classes

struct  PartitionVertex
struct  MonotoneVertex
class  VertexSorter
struct  Diagonal
struct  DPState
struct  DPState2
struct  ScanLineEdge

Public Member Functions

int RemoveHoles (TPPLPolyList *inpolys, TPPLPolyList *outpolys)
int Triangulate_EC (TPPLPoly *poly, TPPLPolyList *triangles)
int Triangulate_EC (TPPLPolyList *inpolys, TPPLPolyList *triangles)
int Triangulate_OPT (TPPLPoly *poly, TPPLPolyList *triangles)
int Triangulate_MONO (TPPLPoly *poly, TPPLPolyList *triangles)
int Triangulate_MONO (TPPLPolyList *inpolys, TPPLPolyList *triangles)
int MonotonePartition (TPPLPolyList *inpolys, TPPLPolyList *monotonePolys)
int ConvexPartition_HM (TPPLPoly *poly, TPPLPolyList *parts)
int ConvexPartition_HM (TPPLPolyList *inpolys, TPPLPolyList *parts)
int ConvexPartition_OPT (TPPLPoly *poly, TPPLPolyList *parts)

Protected Types

typedef std::list< DiagonalDiagonalList

Protected Member Functions

bool IsConvex (TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3)
bool IsReflex (TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3)
bool IsInside (TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3, TPPLPoint &p)
bool InCone (TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3, TPPLPoint &p)
bool InCone (PartitionVertex *v, TPPLPoint &p)
int Intersects (TPPLPoint &p11, TPPLPoint &p12, TPPLPoint &p21, TPPLPoint &p22)
TPPLPoint Normalize (const TPPLPoint &p)
tppl_float Distance (const TPPLPoint &p1, const TPPLPoint &p2)
void UpdateVertexReflexity (PartitionVertex *v)
void UpdateVertex (PartitionVertex *v, PartitionVertex *vertices, long numvertices)
void UpdateState (long a, long b, long w, long i, long j, DPState2 **dpstates)
void TypeA (long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates)
void TypeB (long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates)
bool Below (TPPLPoint &p1, TPPLPoint &p2)
void AddDiagonal (MonotoneVertex *vertices, long *numvertices, long index1, long index2, TPPLVertexType *vertextypes, std::set< ScanLineEdge >::iterator *edgeTreeIterators, std::set< ScanLineEdge > *edgeTree, long *helpers)
int TriangulateMonotone (TPPLPoly *inPoly, TPPLPolyList *triangles)

The documentation for this class was generated from the following files: