Updated clipper

This commit is contained in:
Blake Thompson 2015-04-15 00:35:31 -05:00
parent feca4d9f9b
commit 26131fb708
2 changed files with 11 additions and 14 deletions

View file

@ -1,8 +1,8 @@
/******************************************************************************* /*******************************************************************************
* * * *
* Author : Angus Johnson * * Author : Angus Johnson *
* Version : 6.2.8 * * Version : 6.2.9 *
* Date : 10 February 2015 * * Date : 16 February 2015 *
* Website : http://www.angusj.com * * Website : http://www.angusj.com *
* Copyright : Angus Johnson 2010-2015 * * Copyright : Angus Johnson 2010-2015 *
* * * *
@ -170,13 +170,13 @@ private:
friend class MAPNIK_DECL Clipper; //to access AllNodes friend class MAPNIK_DECL Clipper; //to access AllNodes
}; };
bool Orientation(const Path &poly); MAPNIK_DECL bool Orientation(const Path &poly);
double Area(const Path &poly); MAPNIK_DECL double Area(const Path &poly);
int PointInPolygon(const IntPoint &pt, const Path &path); MAPNIK_DECL int PointInPolygon(const IntPoint &pt, const Path &path);
void SimplifyPolygon(const Path &in_poly, Paths &out_polys, PolyFillType fillType = pftEvenOdd); MAPNIK_DECL void SimplifyPolygon(const Path &in_poly, Paths &out_polys, PolyFillType fillType = pftEvenOdd);
void SimplifyPolygons(const Paths &in_polys, Paths &out_polys, PolyFillType fillType = pftEvenOdd); MAPNIK_DECL void SimplifyPolygons(const Paths &in_polys, Paths &out_polys, PolyFillType fillType = pftEvenOdd);
void SimplifyPolygons(Paths &polys, PolyFillType fillType = pftEvenOdd); MAPNIK_DECL void SimplifyPolygons(Paths &polys, PolyFillType fillType = pftEvenOdd);
MAPNIK_DECL void CleanPolygon(const Path& in_poly, Path& out_poly, double distance = 1.415); MAPNIK_DECL void CleanPolygon(const Path& in_poly, Path& out_poly, double distance = 1.415);
MAPNIK_DECL void CleanPolygon(Path& poly, double distance = 1.415); MAPNIK_DECL void CleanPolygon(Path& poly, double distance = 1.415);

View file

@ -1,8 +1,8 @@
/******************************************************************************* /*******************************************************************************
* * * *
* Author : Angus Johnson * * Author : Angus Johnson *
* Version : 6.2.8 * * Version : 6.2.9 *
* Date : 10 February 2015 * * Date : 16 February 2015 *
* Website : http://www.angusj.com * * Website : http://www.angusj.com *
* Copyright : Angus Johnson 2010-2015 * * Copyright : Angus Johnson 2010-2015 *
* * * *
@ -969,8 +969,6 @@ TEdge* ClipperBase::ProcessBound(TEdge* E, bool NextIsForward)
EStart = E->Prev; EStart = E->Prev;
else else
EStart = E->Next; EStart = E->Next;
if (EStart->OutIdx != Skip)
{
if (IsHorizontal(*EStart)) //ie an adjoining horizontal skip edge if (IsHorizontal(*EStart)) //ie an adjoining horizontal skip edge
{ {
if (EStart->Bot.X != E->Bot.X && EStart->Top.X != E->Bot.X) if (EStart->Bot.X != E->Bot.X && EStart->Top.X != E->Bot.X)
@ -979,7 +977,6 @@ TEdge* ClipperBase::ProcessBound(TEdge* E, bool NextIsForward)
else if (EStart->Bot.X != E->Bot.X) else if (EStart->Bot.X != E->Bot.X)
ReverseHorizontal(*E); ReverseHorizontal(*E);
} }
}
EStart = E; EStart = E;
if (NextIsForward) if (NextIsForward)