Classes | Typedefs | Enumerations | Functions | Variables
ClipperLib Namespace Reference

Classes

class  Clipper
class  ClipperBase
class  clipperException
struct  DoublePoint
struct  ExPolygon
struct  HorzJoinRec
class  Int128
struct  IntersectNode
struct  IntPoint
struct  IntRect
struct  JoinRec
struct  LocalMinima
struct  OutPt
struct  OutRec
class  PolyOffsetBuilder
struct  Scanbeam
struct  TEdge

Typedefs

typedef std::vector< TEdge * > EdgeList
typedef std::vector< ExPolygonExPolygons
typedef std::vector
< HorzJoinRec * > 
HorzJoinList
typedef std::vector< JoinRec * > JoinList
typedef signed long long long64
typedef std::vector< IntPointPolygon
typedef std::vector< PolygonPolygons
typedef std::vector< OutRec * > PolyOutList
typedef unsigned long long ulong64

Enumerations

enum  ClipType { ctIntersection, ctUnion, ctDifference, ctXor }
enum  Direction { dRightToLeft, dLeftToRight }
enum  EdgeSide { esNeither = 0, esLeft = 1, esRight = 2, esBoth = 3 }
enum  IntersectProtects { ipNone = 0, ipLeft = 1, ipRight = 2, ipBoth = 3 }
enum  JoinType { jtSquare, jtRound, jtMiter }
enum  PolyFillType { pftEvenOdd, pftNonZero, pftPositive, pftNegative }
enum  PolyType { ptSubject, ptClip }

Functions

long64 Abs (long64 val)
double Area (const Polygon &poly)
double Area (const OutRec &outRec, bool UseFullInt64Range)
Polygon BuildArc (const IntPoint &pt, const double a1, const double a2, const double r)
void DisposeOutPts (OutPt *&pp)
bool E2InsertsBeforeE1 (TEdge &e1, TEdge &e2)
OutRecFindAppendLinkEnd (OutRec *outRec)
bool FindSegment (OutPt *&pp, IntPoint &pt1, IntPoint &pt2)
bool FirstIsBottomPt (const OutPt *btmPt1, const OutPt *btmPt2)
bool FullRangeNeeded (const Polygon &pts)
OutPtGetBottomPt (OutPt *pp)
double GetDx (const IntPoint pt1, const IntPoint pt2)
OutRecGetLowermostRec (OutRec *outRec1, OutRec *outRec2)
TEdgeGetMaximaPair (TEdge *e)
TEdgeGetNextInAEL (TEdge *e, Direction dir)
bool GetOverlapSegment (IntPoint pt1a, IntPoint pt1b, IntPoint pt2a, IntPoint pt2b, IntPoint &pt1, IntPoint &pt2)
DoublePoint GetUnitNormal (const IntPoint &pt1, const IntPoint &pt2)
void InitEdge (TEdge *e, TEdge *eNext, TEdge *ePrev, const IntPoint &pt, PolyType polyType)
OutPtInsertPolyPtBetween (OutPt *p1, OutPt *p2, const IntPoint pt)
bool IntersectPoint (TEdge &edge1, TEdge &edge2, IntPoint &ip, bool UseFullInt64Range)
bool IsIntermediate (TEdge *e, const long64 Y)
bool IsMaxima (TEdge *e, const long64 Y)
bool IsMinima (TEdge *e)
void OffsetPolygons (const Polygons &in_polys, Polygons &out_polys, double delta, JoinType jointype=jtSquare, double MiterLimit=2)
std::ostream & operator<< (std::ostream &s, Polygon &p)
std::ostream & operator<< (std::ostream &s, Polygons &p)
std::ostream & operator<< (std::ostream &s, IntPoint &p)
bool Orientation (const Polygon &poly)
bool Orientation (OutRec *outRec, bool UseFullInt64Range)
bool Param1RightOfParam2 (OutRec *outRec1, OutRec *outRec2)
bool PointInPolygon (const IntPoint &pt, OutPt *pp, bool UseFullInt64Range)
bool PointIsVertex (const IntPoint &pt, OutPt *pp)
bool PointsEqual (const IntPoint &pt1, const IntPoint &pt2)
bool PolySort (OutRec *or1, OutRec *or2)
bool ProcessParam1BeforeParam2 (IntersectNode &node1, IntersectNode &node2)
bool Pt3IsBetweenPt1AndPt2 (const IntPoint pt1, const IntPoint pt2, const IntPoint pt3)
void ReversePolygon (Polygon &p)
void ReversePolygons (Polygons &p)
void ReversePolyPtLinks (OutPt &pp)
long64 Round (double val)
void SetDx (TEdge &e)
void SimplifyPolygon (const Polygon &in_poly, Polygons &out_polys, PolyFillType fillType=pftEvenOdd)
void SimplifyPolygons (const Polygons &in_polys, Polygons &out_polys, PolyFillType fillType=pftEvenOdd)
void SimplifyPolygons (Polygons &polys, PolyFillType fillType=pftEvenOdd)
bool SlopesEqual (TEdge &e1, TEdge &e2, bool UseFullInt64Range)
bool SlopesEqual (const IntPoint pt1, const IntPoint pt2, const IntPoint pt3, bool UseFullInt64Range)
bool SlopesEqual (const IntPoint pt1, const IntPoint pt2, const IntPoint pt3, const IntPoint pt4, bool UseFullInt64Range)
void SwapIntersectNodes (IntersectNode &int1, IntersectNode &int2)
void SwapPoints (IntPoint &pt1, IntPoint &pt2)
void SwapPolyIndexes (TEdge &edge1, TEdge &edge2)
void SwapSides (TEdge &edge1, TEdge &edge2)
void SwapX (TEdge &e)
long64 TopX (TEdge &edge, const long64 currentY)
long64 TopX (const IntPoint pt1, const IntPoint pt2, const long64 currentY)

Variables

static long64 const hiRange = 0x3FFFFFFFFFFFFFFFLL
static long64 const loRange = 0x3FFFFFFF
static double const pi = 3.141592653589793238

Typedef Documentation

Definition at line 174 of file clipper.hpp.

Definition at line 75 of file clipper.hpp.

Definition at line 176 of file clipper.hpp.

Definition at line 175 of file clipper.hpp.

typedef signed long long ClipperLib::long64

Definition at line 53 of file clipper.hpp.

Definition at line 65 of file clipper.hpp.

Definition at line 66 of file clipper.hpp.

Definition at line 173 of file clipper.hpp.

typedef unsigned long long ClipperLib::ulong64

Definition at line 54 of file clipper.hpp.


Enumeration Type Documentation

Enumerator:
ctIntersection 
ctUnion 
ctDifference 
ctXor 

Definition at line 45 of file clipper.hpp.

Enumerator:
dRightToLeft 
dLeftToRight 

Definition at line 55 of file clipper.cpp.

Enumerator:
esNeither 
esLeft 
esRight 
esBoth 

Definition at line 91 of file clipper.hpp.

Enumerator:
ipNone 
ipLeft 
ipRight 
ipBoth 

Definition at line 92 of file clipper.hpp.

Enumerator:
jtSquare 
jtRound 
jtMiter 

Definition at line 77 of file clipper.hpp.

Enumerator:
pftEvenOdd 
pftNonZero 
pftPositive 
pftNegative 

Definition at line 51 of file clipper.hpp.

Enumerator:
ptSubject 
ptClip 

Definition at line 46 of file clipper.hpp.


Function Documentation

long64 ClipperLib::Abs ( long64  val) [inline]

Definition at line 62 of file clipper.cpp.

double ClipperLib::Area ( const Polygon poly)

Definition at line 409 of file clipper.cpp.

double ClipperLib::Area ( const OutRec &  outRec,
bool  UseFullInt64Range 
)

Definition at line 434 of file clipper.cpp.

Polygon ClipperLib::BuildArc ( const IntPoint &  pt,
const double  a1,
const double  a2,
const double  r 
)

Definition at line 3148 of file clipper.cpp.

void ClipperLib::DisposeOutPts ( OutPt *&  pp)

Definition at line 649 of file clipper.cpp.

bool ClipperLib::E2InsertsBeforeE1 ( TEdge &  e1,
TEdge &  e2 
)

Definition at line 2875 of file clipper.cpp.

OutRec* ClipperLib::FindAppendLinkEnd ( OutRec *  outRec)

Definition at line 1250 of file clipper.cpp.

bool ClipperLib::FindSegment ( OutPt *&  pp,
IntPoint &  pt1,
IntPoint &  pt2 
)

Definition at line 790 of file clipper.cpp.

bool ClipperLib::FirstIsBottomPt ( const OutPt *  btmPt1,
const OutPt *  btmPt2 
)

Definition at line 733 of file clipper.cpp.

Definition at line 313 of file clipper.cpp.

OutPt* ClipperLib::GetBottomPt ( OutPt *  pp)

Definition at line 752 of file clipper.cpp.

double ClipperLib::GetDx ( const IntPoint  pt1,
const IntPoint  pt2 
)

Definition at line 533 of file clipper.cpp.

OutRec* ClipperLib::GetLowermostRec ( OutRec *  outRec1,
OutRec *  outRec2 
)

Definition at line 1940 of file clipper.cpp.

Definition at line 2227 of file clipper.cpp.

TEdge* ClipperLib::GetNextInAEL ( TEdge *  e,
Direction  dir 
)

Definition at line 2327 of file clipper.cpp.

bool ClipperLib::GetOverlapSegment ( IntPoint  pt1a,
IntPoint  pt1b,
IntPoint  pt2a,
IntPoint  pt2b,
IntPoint &  pt1,
IntPoint &  pt2 
)

Definition at line 711 of file clipper.cpp.

DoublePoint ClipperLib::GetUnitNormal ( const IntPoint &  pt1,
const IntPoint &  pt2 
)

Definition at line 3167 of file clipper.cpp.

void ClipperLib::InitEdge ( TEdge *  e,
TEdge *  eNext,
TEdge *  ePrev,
const IntPoint &  pt,
PolyType  polyType 
)

Definition at line 662 of file clipper.cpp.

OutPt* ClipperLib::InsertPolyPtBetween ( OutPt *  p1,
OutPt *  p2,
const IntPoint  pt 
)

Definition at line 818 of file clipper.cpp.

bool ClipperLib::IntersectPoint ( TEdge &  edge1,
TEdge &  edge2,
IntPoint &  ip,
bool  UseFullInt64Range 
)

Definition at line 591 of file clipper.cpp.

bool ClipperLib::IsIntermediate ( TEdge *  e,
const long64  Y 
)

Definition at line 2221 of file clipper.cpp.

bool ClipperLib::IsMaxima ( TEdge *  e,
const long64  Y 
)

Definition at line 2215 of file clipper.cpp.

bool ClipperLib::IsMinima ( TEdge *  e)

Definition at line 2209 of file clipper.cpp.

void ClipperLib::OffsetPolygons ( const Polygons &  in_polys,
Polygons &  out_polys,
double  delta,
JoinType  jointype = jtSquare,
double  MiterLimit = 2 
)

Definition at line 3387 of file clipper.cpp.

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

Definition at line 3428 of file clipper.cpp.

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

Definition at line 3437 of file clipper.cpp.

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

Definition at line 3421 of file clipper.cpp.

Definition at line 327 of file clipper.cpp.

bool ClipperLib::Orientation ( OutRec *  outRec,
bool  UseFullInt64Range 
)

Definition at line 371 of file clipper.cpp.

bool ClipperLib::Param1RightOfParam2 ( OutRec *  outRec1,
OutRec *  outRec2 
)

Definition at line 1956 of file clipper.cpp.

bool ClipperLib::PointInPolygon ( const IntPoint &  pt,
OutPt *  pp,
bool  UseFullInt64Range 
)

Definition at line 471 of file clipper.cpp.

bool ClipperLib::PointIsVertex ( const IntPoint &  pt,
OutPt *  pp 
)

Definition at line 458 of file clipper.cpp.

bool ClipperLib::PointsEqual ( const IntPoint &  pt1,
const IntPoint &  pt2 
) [inline]

Definition at line 365 of file clipper.cpp.

bool ClipperLib::PolySort ( OutRec *  or1,
OutRec *  or2 
)

Definition at line 1223 of file clipper.cpp.

bool ClipperLib::ProcessParam1BeforeParam2 ( IntersectNode &  node1,
IntersectNode &  node2 
)

Definition at line 2538 of file clipper.cpp.

bool ClipperLib::Pt3IsBetweenPt1AndPt2 ( const IntPoint  pt1,
const IntPoint  pt2,
const IntPoint  pt3 
)

Definition at line 809 of file clipper.cpp.

Definition at line 3124 of file clipper.cpp.

void ClipperLib::ReversePolygons ( Polygons &  p)

Definition at line 3130 of file clipper.cpp.

void ClipperLib::ReversePolyPtLinks ( OutPt &  pp)

Definition at line 636 of file clipper.cpp.

long64 ClipperLib::Round ( double  val) [inline]

Definition at line 563 of file clipper.cpp.

void ClipperLib::SetDx ( TEdge &  e)

Definition at line 540 of file clipper.cpp.

void ClipperLib::SimplifyPolygon ( const Polygon in_poly,
Polygons &  out_polys,
PolyFillType  fillType = pftEvenOdd 
)

Definition at line 3399 of file clipper.cpp.

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

Definition at line 3407 of file clipper.cpp.

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

Definition at line 3415 of file clipper.cpp.

bool ClipperLib::SlopesEqual ( TEdge &  e1,
TEdge &  e2,
bool  UseFullInt64Range 
)

Definition at line 503 of file clipper.cpp.

bool ClipperLib::SlopesEqual ( const IntPoint  pt1,
const IntPoint  pt2,
const IntPoint  pt3,
bool  UseFullInt64Range 
)

Definition at line 513 of file clipper.cpp.

bool ClipperLib::SlopesEqual ( const IntPoint  pt1,
const IntPoint  pt2,
const IntPoint  pt3,
const IntPoint  pt4,
bool  UseFullInt64Range 
)

Definition at line 523 of file clipper.cpp.

void ClipperLib::SwapIntersectNodes ( IntersectNode &  int1,
IntersectNode &  int2 
)

Definition at line 2816 of file clipper.cpp.

void ClipperLib::SwapPoints ( IntPoint &  pt1,
IntPoint &  pt2 
)

Definition at line 703 of file clipper.cpp.

void ClipperLib::SwapPolyIndexes ( TEdge &  edge1,
TEdge &  edge2 
)

Definition at line 555 of file clipper.cpp.

void ClipperLib::SwapSides ( TEdge &  edge1,
TEdge &  edge2 
)

Definition at line 547 of file clipper.cpp.

void ClipperLib::SwapX ( TEdge &  e) [inline]

Definition at line 692 of file clipper.cpp.

long64 ClipperLib::TopX ( TEdge &  edge,
const long64  currentY 
)

Definition at line 570 of file clipper.cpp.

long64 ClipperLib::TopX ( const IntPoint  pt1,
const IntPoint  pt2,
const long64  currentY 
)

Definition at line 577 of file clipper.cpp.


Variable Documentation

long64 const ClipperLib::hiRange = 0x3FFFFFFFFFFFFFFFLL [static]

Definition at line 53 of file clipper.cpp.

long64 const ClipperLib::loRange = 0x3FFFFFFF [static]

Definition at line 52 of file clipper.cpp.

double const ClipperLib::pi = 3.141592653589793238 [static]

Definition at line 54 of file clipper.cpp.



srs_env_model_percp
Author(s): Rostislav Hulik (ihulik@fit.vutbr.cz), Tomas Hodan, Michal Spanel (spanel@fit.vutbr.cz)
autogenerated on Sun Jan 5 2014 11:51:57