Classes | Namespaces | Defines | Enumerations | Functions | Variables
clipper.cpp File Reference
#include <srs_env_model_percp/but_plane_detector/clipper.hpp>
#include <cmath>
#include <vector>
#include <algorithm>
#include <stdexcept>
#include <cstring>
#include <cstdlib>
#include <ostream>
Include dependency graph for clipper.cpp:

Go to the source code of this file.

Classes

struct  ClipperLib::DoublePoint
class  ClipperLib::Int128
class  ClipperLib::PolyOffsetBuilder

Namespaces

namespace  ClipperLib

Defines

#define HORIZONTAL   (-1.0E+40)
#define NEAR_EQUAL(a, b)   NEAR_ZERO((a) - (b))
#define NEAR_ZERO(val)   (((val) > -TOLERANCE) && ((val) < TOLERANCE))
#define TOLERANCE   (1.0e-20)

Enumerations

enum  ClipperLib::Direction { ClipperLib::dRightToLeft, ClipperLib::dLeftToRight }

Functions

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

Variables

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

Define Documentation

#define HORIZONTAL   (-1.0E+40)

Definition at line 57 of file clipper.cpp.

#define NEAR_EQUAL (   a,
 
)    NEAR_ZERO((a) - (b))

Definition at line 60 of file clipper.cpp.

#define NEAR_ZERO (   val)    (((val) > -TOLERANCE) && ((val) < TOLERANCE))

Definition at line 59 of file clipper.cpp.

#define TOLERANCE   (1.0e-20)

Definition at line 58 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