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 rect() {
          Point2d p0 = debugPoint(0, -1, -1);
          Point2d p1 = debugPoint(1, 1, -1);
          Point2d p2 = debugPoint(2, 1, 1);
          Point2d p3 = debugPoint(3, -1, 1);
  
          Point2d s0 = debugPoint("s0", -1, 0);
          Point2d s1 = debugPoint("s1", 1, 0);
  
          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, 0), debugPoint("l2", 1, 0));
  
          SplitResult split = PlygonSplitUtil.split(polygon, line);
  
          assertEquals(1, split.getLeftPolygons().size());
          assertEquals(1, split.getRightPolygons().size());
          assertEqualsPolygon(polygon(s1, p2, p3, s0), split.getLeftPolygons().get(0));
          assertEqualsPolygon(polygon(s0, p0, p1, s1), split.getRightPolygons().get(0));
  
      }
test_case.class_method_signature: PlygonSplitUtilTest.rect()
test_case.full_signature: @SuppressWarnings("javadoc") @Test public void rect()
test_case.identifier: rect
test_case.invocations: debugPoint debugPoint debugPoint debugPoint debugPoint debugPoint add add add add debugPoint debugPoint split assertEquals size getLeftPolygons assertEquals size getRightPolygons assertEqualsPolygon polygon get getLeftPolygons assertEqualsPolygon polygon get getRightPolygons
test_case.modifiers: @SuppressWarnings("javadoc") @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void rect()
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)