Class DefaultClipper

java.lang.Object
com.itextpdf.text.pdf.parser.clipper.ClipperBase
com.itextpdf.text.pdf.parser.clipper.DefaultClipper
All Implemented Interfaces:
Clipper

public class DefaultClipper extends ClipperBase
  • Field Details

  • Constructor Details

    • DefaultClipper

      public DefaultClipper()
    • DefaultClipper

      public DefaultClipper(int InitOptions)
  • Method Details

    • getHorzDirection

      private static void getHorzDirection(Edge HorzEdge, Clipper.Direction[] Dir, long[] Left, long[] Right)
    • getOverlap

      private static boolean getOverlap(long a1, long a2, long b1, long b2, long[] Left, long[] Right)
    • isParam1RightOfParam2

      private static boolean isParam1RightOfParam2(Path.OutRec outRec1, Path.OutRec outRec2)
    • isPointInPolygon

      private static int isPointInPolygon(Point.LongPoint pt, Path.OutPt op)
    • joinHorz

      private static boolean joinHorz(Path.OutPt op1, Path.OutPt op1b, Path.OutPt op2, Path.OutPt op2b, Point.LongPoint Pt, boolean DiscardLeft)
    • joinPoints

      private boolean joinPoints(Path.Join j, Path.OutRec outRec1, Path.OutRec outRec2)
    • minkowski

      private static Paths minkowski(Path pattern, Path path, boolean IsSum, boolean IsClosed)
    • minkowskiDiff

      public static Paths minkowskiDiff(Path poly1, Path poly2)
    • minkowskiSum

      public static Paths minkowskiSum(Path pattern, Path path, boolean pathIsClosed)
    • minkowskiSum

      public static Paths minkowskiSum(Path pattern, Paths paths, boolean pathIsClosed)
    • poly2ContainsPoly1

      private static boolean poly2ContainsPoly1(Path.OutPt outPt1, Path.OutPt outPt2)
    • simplifyPolygon

      public static Paths simplifyPolygon(Path poly)
    • simplifyPolygon

      public static Paths simplifyPolygon(Path poly, Clipper.PolyFillType fillType)
    • simplifyPolygons

      public static Paths simplifyPolygons(Paths polys)
    • simplifyPolygons

      public static Paths simplifyPolygons(Paths polys, Clipper.PolyFillType fillType)
    • insertScanbeam

      private void insertScanbeam(long Y)
    • InsertMaxima

      private void InsertMaxima(long X)
    • addEdgeToSEL

      private void addEdgeToSEL(Edge edge)
    • addGhostJoin

      private void addGhostJoin(Path.OutPt Op, Point.LongPoint OffPt)
    • addJoin

      private void addJoin(Path.OutPt Op1, Path.OutPt Op2, Point.LongPoint OffPt)
    • addLocalMaxPoly

      private void addLocalMaxPoly(Edge e1, Edge e2, Point.LongPoint pt)
    • addLocalMinPoly

      private Path.OutPt addLocalMinPoly(Edge e1, Edge e2, Point.LongPoint pt)
    • addOutPt

      private Path.OutPt addOutPt(Edge e, Point.LongPoint pt)
    • GetLastOutPt

      private Path.OutPt GetLastOutPt(Edge e)
    • appendPolygon

      private void appendPolygon(Edge e1, Edge e2)
    • buildIntersectList

      private void buildIntersectList(long topY)
    • buildResult

      private void buildResult(Paths polyg)
    • buildResult2

      private void buildResult2(PolyTree polytree)
    • copyAELToSEL

      private void copyAELToSEL()
    • createOutRec

      private Path.OutRec createOutRec()
    • deleteFromAEL

      private void deleteFromAEL(Edge e)
    • deleteFromSEL

      private void deleteFromSEL(Edge e)
    • doHorzSegmentsOverlap

      private boolean doHorzSegmentsOverlap(long seg1a, long seg1b, long seg2a, long seg2b)
    • doMaxima

      private void doMaxima(Edge e)
    • doSimplePolygons

      private void doSimplePolygons()
    • EdgesAdjacent

      private boolean EdgesAdjacent(DefaultClipper.IntersectNode inode)
    • execute

      public boolean execute(Clipper.ClipType clipType, Paths solution, Clipper.PolyFillType FillType)
    • execute

      public boolean execute(Clipper.ClipType clipType, PolyTree polytree)
    • execute

      public boolean execute(Clipper.ClipType clipType, PolyTree polytree, Clipper.PolyFillType FillType)
    • execute

      public boolean execute(Clipper.ClipType clipType, Paths solution)
    • execute

      public boolean execute(Clipper.ClipType clipType, Paths solution, Clipper.PolyFillType subjFillType, Clipper.PolyFillType clipFillType)
    • execute

      public boolean execute(Clipper.ClipType clipType, PolyTree polytree, Clipper.PolyFillType subjFillType, Clipper.PolyFillType clipFillType)
    • executeInternal

      private boolean executeInternal()
    • fixupFirstLefts1

      private void fixupFirstLefts1(Path.OutRec OldOutRec, Path.OutRec NewOutRec)
    • fixupFirstLefts2

      private void fixupFirstLefts2(Path.OutRec OldOutRec, Path.OutRec NewOutRec)
    • fixupIntersectionOrder

      private boolean fixupIntersectionOrder()
    • fixupOutPolyline

      private void fixupOutPolyline(Path.OutRec outrec)
    • fixupOutPolygon

      private void fixupOutPolygon(Path.OutRec outRec)
    • getOutRec

      private Path.OutRec getOutRec(int idx)
    • insertEdgeIntoAEL

      private void insertEdgeIntoAEL(Edge edge, Edge startEdge)
    • insertLocalMinimaIntoAEL

      private void insertLocalMinimaIntoAEL(long botY)
    • intersectEdges

      private void intersectEdges(Edge e1, Edge e2, Point.LongPoint pt)
    • intersectPoint

      private void intersectPoint(Edge edge1, Edge edge2, Point.LongPoint[] ipV)
    • joinCommonEdges

      private void joinCommonEdges()
    • popScanbeam

      private long popScanbeam()
    • processEdgesAtTopOfScanbeam

      private void processEdgesAtTopOfScanbeam(long topY)
    • processHorizontal

      private void processHorizontal(Edge horzEdge)
    • processHorizontals

      private void processHorizontals()
    • processIntersections

      private boolean processIntersections(long topY)
    • processIntersectList

      private void processIntersectList()
    • reset

      protected void reset()
      Overrides:
      reset in class ClipperBase
    • setHoleState

      private void setHoleState(Edge e, Path.OutRec outRec)
    • setZ

      private void setZ(Point.LongPoint pt, Edge e1, Edge e2)
    • swapPositionsInAEL

      private void swapPositionsInAEL(Edge edge1, Edge edge2)
    • swapPositionsInSEL

      private void swapPositionsInSEL(Edge edge1, Edge edge2)
    • updateEdgeIntoAEL

      private void updateEdgeIntoAEL(Edge[] eV)
    • updateOutPtIdxs

      private void updateOutPtIdxs(Path.OutRec outrec)
    • updateWindingCount

      private void updateWindingCount(Edge edge)