test_class.declarator: EPSILON = 0.00001d
test_class.modifier: private static final
test_class.original_string: private static final double EPSILON = 0.00001d;
test_class.type: double
test_class.var_name: EPSILON
test_class.file: kendzi-math-geometry/src/test/java/kendzi/math/geometry/polygon/split/PlygonSplitUtilTest.java
test_class.identifier: PlygonSplitUtilTest
test_case.body: @SuppressWarnings("javadoc")
      @Test
      public void oneSiteOfLine() {
          Point2d p0 = debugPoint(0, -1, -1);
          Point2d p1 = debugPoint(1, 1, -1);
          Point2d p2 = debugPoint(2, 1, 1);
          Point2d p3 = debugPoint(3, -1, 1);
  
          List<Point2d> polygon = new ArrayList<Point2d>();
          polygon.add(p0);
          polygon.add(p1);
          polygon.add(p2);
          polygon.add(p3);
  
          LinePoints2d line = new LinePoints2d(debugPoint("l1", 0, -2), debugPoint("l2", 1, -2));
  
          SplitResult split = PlygonSplitUtil.split(polygon, line);
  
          assertEquals(1, split.getLeftPolygons().size());
          assertEquals(0, split.getRightPolygons().size());
          assertEqualsPolygon(polygon(p0, p1, p2, p3), split.getLeftPolygons().get(0));
  
          line = new LinePoints2d(debugPoint("l1", 0, 2), debugPoint("l2", 1, 2));
  
          split = PlygonSplitUtil.split(polygon, line);
  
          assertEquals(0, split.getLeftPolygons().size());
          assertEquals(1, split.getRightPolygons().size());
          assertEqualsPolygon(polygon(p0, p1, p2, p3), split.getRightPolygons().get(0));
  
      }
test_case.class_method_signature: PlygonSplitUtilTest.oneSiteOfLine()
test_case.full_signature: @SuppressWarnings("javadoc") @Test public void oneSiteOfLine()
test_case.identifier: oneSiteOfLine
test_case.invocations: debugPoint debugPoint debugPoint debugPoint add add add add debugPoint debugPoint split assertEquals size getLeftPolygons assertEquals size getRightPolygons assertEqualsPolygon polygon get getLeftPolygons debugPoint debugPoint split assertEquals size getLeftPolygons assertEquals size getRightPolygons assertEqualsPolygon polygon get getRightPolygons
test_case.modifiers: @SuppressWarnings("javadoc") @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void oneSiteOfLine()
focal_class.declarator: EPSILON = 0.000001
focal_class.modifier: private static final
focal_class.original_string: private static final double EPSILON = 0.000001;
focal_class.type: double
focal_class.var_name: EPSILON
focal_class.declarator: ZERO = 0
focal_class.modifier: private final static
focal_class.original_string: private final static int ZERO = 0;
focal_class.type: int
focal_class.var_name: ZERO
focal_class.file: kendzi-math-geometry/src/main/java/kendzi/math/geometry/polygon/split/PlygonSplitUtil.java
focal_class.identifier: PlygonSplitUtil
focal_class.class_method_signature: PlygonSplitUtil.split(List<Point2d> polygon, LinePoints2d splittingLine)
focal_class.full_signature: public static SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine)
focal_class.identifier: split
focal_class.modifiers: public static
focal_class.parameters: (List<Point2d> polygon, LinePoints2d splittingLine)
focal_class.return: SplitResult
focal_class.signature: SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine)
focal_class.class_method_signature: PlygonSplitUtil.split(List<Point2d> polygon, LinePoints2d splittingLine, double epsilon)
focal_class.full_signature: public static SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine, double epsilon)
focal_class.identifier: split
focal_class.modifiers: public static
focal_class.parameters: (List<Point2d> polygon, LinePoints2d splittingLine, double epsilon)
focal_class.return: SplitResult
focal_class.signature: SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine, double epsilon)
focal_class.class_method_signature: PlygonSplitUtil.toPolygons(List<Close> closes)
focal_class.full_signature: private static List<List<Point2d>> toPolygons(List<Close> closes)
focal_class.identifier: toPolygons
focal_class.modifiers: private static
focal_class.parameters: (List<Close> closes)
focal_class.return: List<List<Point2d>>
focal_class.signature: List<List<Point2d>> toPolygons(List<Close> closes)
focal_class.class_method_signature: PlygonSplitUtil.toPolygon(List<Node> chain)
focal_class.full_signature: private static List<Point2d> toPolygon(List<Node> chain)
focal_class.identifier: toPolygon
focal_class.modifiers: private static
focal_class.parameters: (List<Node> chain)
focal_class.return: List<Point2d>
focal_class.signature: List<Point2d> toPolygon(List<Node> chain)
focal_class.class_method_signature: PlygonSplitUtil.closePolygons(List<List<Node>> chains, LinePoints2d line)
focal_class.full_signature: protected static List<Close> closePolygons(List<List<Node>> chains, LinePoints2d line)
focal_class.identifier: closePolygons
focal_class.modifiers: protected static
focal_class.parameters: (List<List<Node>> chains, LinePoints2d line)
focal_class.return: List<Close>
focal_class.signature: List<Close> closePolygons(List<List<Node>> chains, LinePoints2d line)
focal_class.class_method_signature: PlygonSplitUtil.findTheBiggestBegin(List<Close> backwardCloses)
focal_class.full_signature: protected static double findTheBiggestBegin(List<Close> backwardCloses)
focal_class.identifier: findTheBiggestBegin
focal_class.modifiers: protected static
focal_class.parameters: (List<Close> backwardCloses)
focal_class.return: double
focal_class.signature: double findTheBiggestBegin(List<Close> backwardCloses)
focal_class.class_method_signature: PlygonSplitUtil.findTheSmallestBegin(List<Close> forwardCloses)
focal_class.full_signature: protected static double findTheSmallestBegin(List<Close> forwardCloses)
focal_class.identifier: findTheSmallestBegin
focal_class.modifiers: protected static
focal_class.parameters: (List<Close> forwardCloses)
focal_class.return: double
focal_class.signature: double findTheSmallestBegin(List<Close> forwardCloses)
focal_class.class_method_signature: PlygonSplitUtil.findTheBiggestEnd(List<Close> forwardCloses)
focal_class.full_signature: protected static double findTheBiggestEnd(List<Close> forwardCloses)
focal_class.identifier: findTheBiggestEnd
focal_class.modifiers: protected static
focal_class.parameters: (List<Close> forwardCloses)
focal_class.return: double
focal_class.signature: double findTheBiggestEnd(List<Close> forwardCloses)
focal_class.class_method_signature: PlygonSplitUtil.close(List<Close> outerCloses, List<Close> innerCloses)
focal_class.full_signature: protected static void close(List<Close> outerCloses, List<Close> innerCloses)
focal_class.identifier: close
focal_class.modifiers: protected static
focal_class.parameters: (List<Close> outerCloses, List<Close> innerCloses)
focal_class.return: void
focal_class.signature: void close(List<Close> outerCloses, List<Close> innerCloses)
focal_class.class_method_signature: PlygonSplitUtil.merge(Close outerClose, Close innerClose)
focal_class.full_signature: private static void merge(Close outerClose, Close innerClose)
focal_class.identifier: merge
focal_class.modifiers: private static
focal_class.parameters: (Close outerClose, Close innerClose)
focal_class.return: void
focal_class.signature: void merge(Close outerClose, Close innerClose)
focal_class.class_method_signature: PlygonSplitUtil.theClosestInnerClose(double endDistance, double beginDistance, List<Close> backwardCloses)
focal_class.full_signature: protected static Close theClosestInnerClose(double endDistance, double beginDistance, List<Close> backwardCloses)
focal_class.identifier: theClosestInnerClose
focal_class.modifiers: protected static
focal_class.parameters: (double endDistance, double beginDistance, List<Close> backwardCloses)
focal_class.return: Close
focal_class.signature: Close theClosestInnerClose(double endDistance, double beginDistance, List<Close> backwardCloses)
focal_class.class_method_signature: PlygonSplitUtil.distanceAlongVector(Point2d vectorStartPoint, Vector2d vectorNormal, Point2d point)
focal_class.full_signature: private static double distanceAlongVector(Point2d vectorStartPoint, Vector2d vectorNormal, Point2d point)
focal_class.identifier: distanceAlongVector
focal_class.modifiers: private static
focal_class.parameters: (Point2d vectorStartPoint, Vector2d vectorNormal, Point2d point)
focal_class.return: double
focal_class.signature: double distanceAlongVector(Point2d vectorStartPoint, Vector2d vectorNormal, Point2d point)
focal_class.class_method_signature: PlygonSplitUtil.findRightAndLeftParts(List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.full_signature: protected static void findRightAndLeftParts(List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.identifier: findRightAndLeftParts
focal_class.modifiers: protected static
focal_class.parameters: (List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.return: void
focal_class.signature: void findRightAndLeftParts(List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.class_method_signature: PlygonSplitUtil.singleSite(List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.full_signature: private static void singleSite(List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.identifier: singleSite
focal_class.modifiers: private static
focal_class.parameters: (List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.return: void
focal_class.signature: void singleSite(List<Node> polygon, List<List<Node>> left, List<List<Node>> right)
focal_class.class_method_signature: PlygonSplitUtil.findFirstChangePointIndex(List<Node> polygon, int start)
focal_class.full_signature: private static int findFirstChangePointIndex(List<Node> polygon, int start)
focal_class.identifier: findFirstChangePointIndex
focal_class.modifiers: private static
focal_class.parameters: (List<Node> polygon, int start)
focal_class.return: int
focal_class.signature: int findFirstChangePointIndex(List<Node> polygon, int start)
focal_class.class_method_signature: PlygonSplitUtil.enrich(List<Point2d> polygon, LinePoints2d line, double epsilon)
focal_class.full_signature: private static List<Node> enrich(List<Point2d> polygon, LinePoints2d line, double epsilon)
focal_class.identifier: enrich
focal_class.modifiers: private static
focal_class.parameters: (List<Point2d> polygon, LinePoints2d line, double epsilon)
focal_class.return: List<Node>
focal_class.signature: List<Node> enrich(List<Point2d> polygon, LinePoints2d line, double epsilon)
focal_method.body: public static SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine) {
          return split(polygon, splittingLine, EPSILON);
      }
focal_method.class_method_signature: PlygonSplitUtil.split(List<Point2d> polygon, LinePoints2d splittingLine)
focal_method.full_signature: public static SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine)
focal_method.identifier: split
focal_method.invocations: split
focal_method.modifiers: public static
focal_method.parameters: (List<Point2d> polygon, LinePoints2d splittingLine)
focal_method.return: SplitResult
focal_method.signature: SplitResult split(List<Point2d> polygon, LinePoints2d splittingLine)