nndeploy C++ API  0.2.0
nndeploy C++ API
Classes | Typedefs | Enumerations | Functions
ClipperLib Namespace Reference

Classes

class  Clipper
 
class  ClipperBase
 
class  clipperException
 
class  ClipperOffset
 
struct  DoublePoint
 
struct  IntPoint
 
struct  IntRect
 
class  PolyNode
 
class  PolyTree
 

Typedefs

typedef signed long long cInt
 
typedef std::vector< TEdge * > EdgeList
 
typedef std::vector< IntersectNode * > IntersectList
 
typedef std::vector< Join * > JoinList
 
typedef signed long long long64
 
typedef std::vector< IntPointPath
 
typedef std::vector< PathPaths
 
typedef std::vector< PolyNode * > PolyNodes
 
typedef std::vector< OutRec * > PolyOutList
 
typedef unsigned long long ulong64
 

Enumerations

enum  ClipType { ctIntersection , ctUnion , ctDifference , ctXor }
 
enum  EdgeSide { esLeft = 1 , esRight = 2 }
 
enum  EndType {
  etClosedPolygon , etClosedLine , etOpenButt , etOpenSquare ,
  etOpenRound
}
 
enum  InitOptions { ioReverseSolution = 1 , ioStrictlySimple = 2 , ioPreserveCollinear = 4 }
 
enum  JoinType { jtSquare , jtRound , jtMiter }
 
enum  PolyFillType { pftEvenOdd , pftNonZero , pftPositive , pftNegative }
 
enum  PolyType { ptSubject , ptClip }
 

Functions

double Area (const Path &poly)
 
void CleanPolygon (const Path &in_poly, Path &out_poly, double distance=1.415)
 
void CleanPolygon (Path &poly, double distance=1.415)
 
void CleanPolygons (const Paths &in_polys, Paths &out_polys, double distance=1.415)
 
void CleanPolygons (Paths &polys, double distance=1.415)
 
void ClosedPathsFromPolyTree (const PolyTree &polytree, Paths &paths)
 
void MinkowskiDiff (const Path &poly1, const Path &poly2, Paths &solution)
 
void MinkowskiSum (const Path &pattern, const Path &path, Paths &solution, bool pathIsClosed)
 
void MinkowskiSum (const Path &pattern, const Paths &paths, Paths &solution, bool pathIsClosed)
 
void OpenPathsFromPolyTree (PolyTree &polytree, Paths &paths)
 
Pathoperator<< (Path &poly, const IntPoint &p)
 
Pathsoperator<< (Paths &polys, const Path &p)
 
std::ostream & operator<< (std::ostream &s, const IntPoint &p)
 
std::ostream & operator<< (std::ostream &s, const Path &p)
 
std::ostream & operator<< (std::ostream &s, const Paths &p)
 
bool Orientation (const Path &poly)
 
int PointInPolygon (const IntPoint &pt, const Path &path)
 
void PolyTreeToPaths (const PolyTree &polytree, Paths &paths)
 
void ReversePath (Path &p)
 
void ReversePaths (Paths &p)
 
void SimplifyPolygon (const Path &in_poly, Paths &out_polys, PolyFillType fillType=pftEvenOdd)
 
void SimplifyPolygons (const Paths &in_polys, Paths &out_polys, PolyFillType fillType=pftEvenOdd)
 
void SimplifyPolygons (Paths &polys, PolyFillType fillType=pftEvenOdd)
 

Typedef Documentation

◆ cInt

typedef signed long long ClipperLib::cInt

Definition at line 74 of file clipper.h.

◆ EdgeList

typedef std::vector<TEdge *> ClipperLib::EdgeList

Definition at line 232 of file clipper.h.

◆ IntersectList

typedef std::vector<IntersectNode *> ClipperLib::IntersectList

Definition at line 234 of file clipper.h.

◆ JoinList

typedef std::vector<Join *> ClipperLib::JoinList

Definition at line 233 of file clipper.h.

◆ long64

typedef signed long long ClipperLib::long64

Definition at line 77 of file clipper.h.

◆ Path

typedef std::vector<IntPoint> ClipperLib::Path

Definition at line 101 of file clipper.h.

◆ Paths

typedef std::vector<Path> ClipperLib::Paths

Definition at line 102 of file clipper.h.

◆ PolyNodes

typedef std::vector<PolyNode *> ClipperLib::PolyNodes

Definition at line 145 of file clipper.h.

◆ PolyOutList

typedef std::vector<OutRec *> ClipperLib::PolyOutList

Definition at line 231 of file clipper.h.

◆ ulong64

typedef unsigned long long ClipperLib::ulong64

Definition at line 78 of file clipper.h.

Enumeration Type Documentation

◆ ClipType

Enumerator
ctIntersection 
ctUnion 
ctDifference 
ctXor 

Definition at line 61 of file clipper.h.

◆ EdgeSide

Enumerator
esLeft 
esRight 

Definition at line 221 of file clipper.h.

◆ EndType

Enumerator
etClosedPolygon 
etClosedLine 
etOpenButt 
etOpenSquare 
etOpenRound 

Definition at line 136 of file clipper.h.

◆ InitOptions

Enumerator
ioReverseSolution 
ioStrictlySimple 
ioPreserveCollinear 

Definition at line 130 of file clipper.h.

◆ JoinType

Enumerator
jtSquare 
jtRound 
jtMiter 

Definition at line 135 of file clipper.h.

◆ PolyFillType

Enumerator
pftEvenOdd 
pftNonZero 
pftPositive 
pftNegative 

Definition at line 67 of file clipper.h.

◆ PolyType

Enumerator
ptSubject 
ptClip 

Definition at line 62 of file clipper.h.

Function Documentation

◆ Area()

double ClipperLib::Area ( const Path poly)

◆ CleanPolygon() [1/2]

void ClipperLib::CleanPolygon ( const Path in_poly,
Path out_poly,
double  distance = 1.415 
)

◆ CleanPolygon() [2/2]

void ClipperLib::CleanPolygon ( Path poly,
double  distance = 1.415 
)

◆ CleanPolygons() [1/2]

void ClipperLib::CleanPolygons ( const Paths in_polys,
Paths out_polys,
double  distance = 1.415 
)

◆ CleanPolygons() [2/2]

void ClipperLib::CleanPolygons ( Paths polys,
double  distance = 1.415 
)

◆ ClosedPathsFromPolyTree()

void ClipperLib::ClosedPathsFromPolyTree ( const PolyTree polytree,
Paths paths 
)

◆ MinkowskiDiff()

void ClipperLib::MinkowskiDiff ( const Path poly1,
const Path poly2,
Paths solution 
)

◆ MinkowskiSum() [1/2]

void ClipperLib::MinkowskiSum ( const Path pattern,
const Path path,
Paths solution,
bool  pathIsClosed 
)

◆ MinkowskiSum() [2/2]

void ClipperLib::MinkowskiSum ( const Path pattern,
const Paths paths,
Paths solution,
bool  pathIsClosed 
)

◆ OpenPathsFromPolyTree()

void ClipperLib::OpenPathsFromPolyTree ( PolyTree polytree,
Paths paths 
)

◆ operator<<() [1/5]

Path& ClipperLib::operator<< ( Path poly,
const IntPoint p 
)
inline

Definition at line 104 of file clipper.h.

◆ operator<<() [2/5]

Paths& ClipperLib::operator<< ( Paths polys,
const Path p 
)
inline

Definition at line 108 of file clipper.h.

◆ operator<<() [3/5]

std::ostream& ClipperLib::operator<< ( std::ostream &  s,
const IntPoint p 
)

◆ operator<<() [4/5]

std::ostream& ClipperLib::operator<< ( std::ostream &  s,
const Path p 
)

◆ operator<<() [5/5]

std::ostream& ClipperLib::operator<< ( std::ostream &  s,
const Paths p 
)

◆ Orientation()

bool ClipperLib::Orientation ( const Path poly)

◆ PointInPolygon()

int ClipperLib::PointInPolygon ( const IntPoint pt,
const Path path 
)

◆ PolyTreeToPaths()

void ClipperLib::PolyTreeToPaths ( const PolyTree polytree,
Paths paths 
)

◆ ReversePath()

void ClipperLib::ReversePath ( Path p)

◆ ReversePaths()

void ClipperLib::ReversePaths ( Paths p)

◆ SimplifyPolygon()

void ClipperLib::SimplifyPolygon ( const Path in_poly,
Paths out_polys,
PolyFillType  fillType = pftEvenOdd 
)

◆ SimplifyPolygons() [1/2]

void ClipperLib::SimplifyPolygons ( const Paths in_polys,
Paths out_polys,
PolyFillType  fillType = pftEvenOdd 
)

◆ SimplifyPolygons() [2/2]

void ClipperLib::SimplifyPolygons ( Paths polys,
PolyFillType  fillType = pftEvenOdd 
)