#include <srs_env_model_percp/but_plane_detector/clipper.hpp>
#include <cmath>
#include <vector>
#include <algorithm>
#include <stdexcept>
#include <cstring>
#include <cstdlib>
#include <ostream>
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 HORIZONTAL (-1.0E+40) |
Definition at line 57 of file clipper.cpp.
#define NEAR_EQUAL | ( | a, | |
b | |||
) | NEAR_ZERO((a) - (b)) |
Definition at line 60 of file clipper.cpp.
Definition at line 59 of file clipper.cpp.
#define TOLERANCE (1.0e-20) |
Definition at line 58 of file clipper.cpp.