v0.14.0
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
clipper.hpp File Reference
#include <vector>
#include <list>
#include <set>
#include <stdexcept>
#include <cstring>
#include <cstdlib>
#include <ostream>
#include <functional>
#include <queue>

Go to the source code of this file.

Classes

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

Namespaces

 ClipperLib
 

Macros

#define CLIPPER_VERSION   "6.2.6"
 
#define use_lines
 

Typedefs

typedef signed long long ClipperLib::cInt
 
typedef signed long long ClipperLib::long64
 
typedef unsigned long long ClipperLib::ulong64
 
typedef std::vector< IntPoint > ClipperLib::Path
 
typedef std::vector< Path > ClipperLib::Paths
 
typedef std::vector< PolyNode * > ClipperLib::PolyNodes
 
typedef std::vector< OutRec * > ClipperLib::PolyOutList
 
typedef std::vector< TEdge * > ClipperLib::EdgeList
 
typedef std::vector< Join * > ClipperLib::JoinList
 
typedef std::vector< IntersectNode * > ClipperLib::IntersectList
 

Enumerations

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

Functions

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

Variables

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

Macro Definition Documentation

◆ CLIPPER_VERSION

#define CLIPPER_VERSION   "6.2.6"

Definition at line 37 of file clipper.hpp.

◆ use_lines

#define use_lines

Definition at line 47 of file clipper.hpp.