test_class.file: kendzi-math-geometry/src/test/java/kendzi/math/geometry/polygon/split/EnrichPolygonalChainUtilTest.java
test_class.identifier: EnrichPolygonalChainUtilTest
test_case.body: @Test
      public void enrichOpenPolygonalChainByLineCrossing1() {
  
          Point2d p0 = debugPoint(0, 0, -1);
          Point2d p1 = debugPoint(1, 0, 1);
          Point2d s0 = debugPoint("s1", 0, 0);
  
          List<Point2d> openPolygonalChain = Arrays.asList(p0, p1);
  
          LinePoints2d splittingLine = new LinePoints2d(debugPoint("l1", 0, 0), debugPoint("l2", 1, 0));
  
          List<Point2d> enrichedChain = EnrichPolygonalChainUtil.enrichOpenPolygonalChainByLineCrossing(
                  openPolygonalChain, splittingLine);
  
          assertEquals(3, enrichedChain.size());
          assertEquals(p0, enrichedChain.get(0));
          assertEquals(s0, enrichedChain.get(1));
          assertEquals(p1, enrichedChain.get(2));
  
      }
test_case.class_method_signature: EnrichPolygonalChainUtilTest.enrichOpenPolygonalChainByLineCrossing1()
test_case.full_signature: @Test public void enrichOpenPolygonalChainByLineCrossing1()
test_case.identifier: enrichOpenPolygonalChainByLineCrossing1
test_case.invocations: debugPoint debugPoint debugPoint asList debugPoint debugPoint enrichOpenPolygonalChainByLineCrossing assertEquals size assertEquals get assertEquals get assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void enrichOpenPolygonalChainByLineCrossing1()
focal_class.declarator: EPSILON = 1E-10
focal_class.modifier: private static final
focal_class.original_string: private static final double EPSILON = 1E-10;
focal_class.type: double
focal_class.var_name: EPSILON
focal_class.declarator: ZERO = 0
focal_class.modifier: private static final
focal_class.original_string: private static final double ZERO = 0;
focal_class.type: double
focal_class.var_name: ZERO
focal_class.file: kendzi-math-geometry/src/main/java/kendzi/math/geometry/polygon/split/EnrichPolygonalChainUtil.java
focal_class.identifier: EnrichPolygonalChainUtil
focal_class.class_method_signature: EnrichPolygonalChainUtil.enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.full_signature: public static List<Point2d> enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.identifier: enrichOpenPolygonalChainByLineCrossing
focal_class.modifiers: public static
focal_class.parameters: (List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.return: List<Point2d>
focal_class.signature: List<Point2d> enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.class_method_signature: EnrichPolygonalChainUtil.enrichClosedPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.full_signature: public static List<Point2d> enrichClosedPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.identifier: enrichClosedPolygonalChainByLineCrossing
focal_class.modifiers: public static
focal_class.parameters: (List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.return: List<Point2d>
focal_class.signature: List<Point2d> enrichClosedPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_class.class_method_signature: EnrichPolygonalChainUtil.enrichPolygonalChainByLineCrossing(List<Point2d> closedPolygonalChain,
              LinePoints2d splittingLine, double epsilon, boolean open)
focal_class.full_signature: public static List<Point2d> enrichPolygonalChainByLineCrossing(List<Point2d> closedPolygonalChain,
              LinePoints2d splittingLine, double epsilon, boolean open)
focal_class.identifier: enrichPolygonalChainByLineCrossing
focal_class.modifiers: public static
focal_class.parameters: (List<Point2d> closedPolygonalChain,
              LinePoints2d splittingLine, double epsilon, boolean open)
focal_class.return: List<Point2d>
focal_class.signature: List<Point2d> enrichPolygonalChainByLineCrossing(List<Point2d> closedPolygonalChain,
              LinePoints2d splittingLine, double epsilon, boolean open)
focal_class.class_method_signature: EnrichPolygonalChainUtil.equalZero(double number, double epsilon)
focal_class.full_signature: private static boolean equalZero(double number, double epsilon)
focal_class.identifier: equalZero
focal_class.modifiers: private static
focal_class.parameters: (double number, double epsilon)
focal_class.return: boolean
focal_class.signature: boolean equalZero(double number, double epsilon)
focal_method.body: public static List<Point2d> enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine) {
          return enrichPolygonalChainByLineCrossing(openPolygonalChain, splittingLine, EPSILON, true);
      }
focal_method.class_method_signature: EnrichPolygonalChainUtil.enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_method.full_signature: public static List<Point2d> enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_method.identifier: enrichOpenPolygonalChainByLineCrossing
focal_method.invocations: enrichPolygonalChainByLineCrossing
focal_method.modifiers: public static
focal_method.parameters: (List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)
focal_method.return: List<Point2d>
focal_method.signature: List<Point2d> enrichOpenPolygonalChainByLineCrossing(List<Point2d> openPolygonalChain,
              LinePoints2d splittingLine)