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 signed long long long64
 
typedef unsigned long long ulong64
 
typedef std::vector< IntPointPath
 
typedef std::vector< PathPaths
 
typedef void(* ZFillCallback) (IntPoint &e1bot, IntPoint &e1top, IntPoint &e2bot, IntPoint &e2top, IntPoint &pt)
 
typedef std::vector< PolyNode * > PolyNodes
 
typedef std::vector< OutRec * > PolyOutList
 
typedef std::vector< TEdge * > EdgeList
 
typedef std::vector< Join * > JoinList
 
typedef std::vector< IntersectNode * > IntersectList
 

Enumerations

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

Functions

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)
 
double Area (const Path &poly)
 
int PointInPolygon (const IntPoint &pt, const Path &path)
 
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)
 
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 MinkowskiSum (const Path &pattern, const Path &path, Paths &solution, bool pathIsClosed)
 
void MinkowskiSum (const Path &pattern, const Paths &paths, Paths &solution, bool pathIsClosed)
 
void MinkowskiDiff (const Path &poly1, const Path &poly2, Paths &solution)
 
void PolyTreeToPaths (const PolyTree &polytree, Paths &paths)
 
void ClosedPathsFromPolyTree (const PolyTree &polytree, Paths &paths)
 
void OpenPathsFromPolyTree (PolyTree &polytree, Paths &paths)
 
void ReversePath (Path &p)
 
void ReversePaths (Paths &p)
 

Variables

static cInt const loRange = 0x3FFFFFFF
 
static cInt const hiRange = 0x3FFFFFFFFFFFFFFFLL
 

Typedef Documentation

◆ cInt

typedef signed long long ClipperLib::cInt

◆ EdgeList

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

◆ IntersectList

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

◆ JoinList

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

◆ long64

typedef signed long long ClipperLib::long64

◆ Path

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

◆ Paths

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

◆ PolyNodes

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

◆ PolyOutList

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

◆ ulong64

typedef unsigned long long ClipperLib::ulong64

◆ ZFillCallback

typedef void(* ClipperLib::ZFillCallback) (IntPoint &e1bot, IntPoint &e1top, IntPoint &e2bot, IntPoint &e2top, IntPoint &pt)

Enumeration Type Documentation

◆ ClipType

Enumerator
ctIntersection 
ctUnion 
ctDifference 
ctXor 

◆ EdgeSide

Enumerator
esLeft 
esRight 

◆ EndType

Enumerator
etClosedPolygon 
etClosedLine 
etOpenButt 
etOpenSquare 
etOpenRound 

◆ InitOptions

Enumerator
ioReverseSolution 
ioStrictlySimple 
ioPreserveCollinear 

◆ JoinType

Enumerator
jtSquare 
jtRound 
jtMiter 

◆ PolyFillType

Enumerator
pftEvenOdd 
pftNonZero 
pftPositive 
pftNegative 

◆ PolyType

Enumerator
ptSubject 
ptClip 

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

◆ operator<<() [2/5]

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

◆ 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 
)

Variable Documentation

◆ hiRange

cInt const ClipperLib::hiRange = 0x3FFFFFFFFFFFFFFFLL
static

◆ loRange

cInt const ClipperLib::loRange = 0x3FFFFFFF
static