test_class.file: kendzi-math-geometry/src/test/java/kendzi/math/geometry/point/Vector2dUtilTest.java
test_class.identifier: Vector2dUtilTest
test_case.body: @Test
      public void testBisector() {
  
          Vector2d v0 = new Vector2d(1, 0);
  
          // 1
          Vector2d v1 = new Vector2d(1, 0);
  
          Vector2d v2 = new Vector2d(1, 1);
  
          Vector2d v3 = new Vector2d(0, 1);
  
          Vector2d v4 = new Vector2d(-1, 1);
  
          Vector2d v5 = new Vector2d(-1, 0);
  
          // 2
          Vector2d v6 = new Vector2d(1, -1);
          Vector2d v7 = new Vector2d(0, -1);
          Vector2d v8 = new Vector2d(-1, -1);
  
          Vector2d bisector = Vector2dUtil.bisector(v0, v1);
          assertAngle(Math.toRadians(180 - 90), v0.angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v2);
          assertAngle(Math.toRadians(180 - 67.5), angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v3);
          assertAngle(Math.toRadians(180 - 45), angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v4);
          assertAngle(Math.toRadians(157.5), angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v5);
          assertAngle(Math.toRadians(180 - 0), angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v6);
          assertAngle(Math.toRadians(67.5), angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v7);
          assertAngle(Math.toRadians(45), v0.angle(bisector));
          assertLenght(bisector);
  
          bisector = Vector2dUtil.bisector(v0, v8);
          assertAngle(Math.toRadians(22.5), v0.angle(bisector));
          assertLenght(bisector);
  
          // fail("Not yet implemented");
      }
test_case.class_method_signature: Vector2dUtilTest.testBisector()
test_case.full_signature: @Test public void testBisector()
test_case.identifier: testBisector
test_case.invocations: bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght bisector assertAngle toRadians angle assertLenght
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBisector()
focal_class.declarator: EPSILON = 0.00000001
focal_class.modifier: private static
focal_class.original_string: private static double EPSILON = 0.00000001;
focal_class.type: double
focal_class.var_name: EPSILON
focal_class.file: kendzi-math-geometry/src/main/java/kendzi/math/geometry/point/Vector2dUtil.java
focal_class.identifier: Vector2dUtil
focal_class.class_method_signature: Vector2dUtil.orthogonalLeft(Vector2d v)
focal_class.full_signature: public static Vector2d orthogonalLeft(Vector2d v)
focal_class.identifier: orthogonalLeft
focal_class.modifiers: public static
focal_class.parameters: (Vector2d v)
focal_class.return: Vector2d
focal_class.signature: Vector2d orthogonalLeft(Vector2d v)
focal_class.class_method_signature: Vector2dUtil.orthogonalRight(Vector2d v)
focal_class.full_signature: public static Vector2d orthogonalRight(Vector2d v)
focal_class.identifier: orthogonalRight
focal_class.modifiers: public static
focal_class.parameters: (Vector2d v)
focal_class.return: Vector2d
focal_class.signature: Vector2d orthogonalRight(Vector2d v)
focal_class.class_method_signature: Vector2dUtil.bisector(Point2d p1, Point2d p2, Point2d p3)
focal_class.full_signature: public static Vector2d bisector(Point2d p1, Point2d p2, Point2d p3)
focal_class.identifier: bisector
focal_class.modifiers: public static
focal_class.parameters: (Point2d p1, Point2d p2, Point2d p3)
focal_class.return: Vector2d
focal_class.signature: Vector2d bisector(Point2d p1, Point2d p2, Point2d p3)
focal_class.class_method_signature: Vector2dUtil.bisector(Vector2d v1, Vector2d v2)
focal_class.full_signature: public static Vector2d bisector(Vector2d v1, Vector2d v2)
focal_class.identifier: bisector
focal_class.modifiers: public static
focal_class.parameters: (Vector2d v1, Vector2d v2)
focal_class.return: Vector2d
focal_class.signature: Vector2d bisector(Vector2d v1, Vector2d v2)
focal_class.class_method_signature: Vector2dUtil.bisectorNormalized(Vector2d norm1, Vector2d norm2)
focal_class.full_signature: public static Vector2d bisectorNormalized(Vector2d norm1, Vector2d norm2)
focal_class.identifier: bisectorNormalized
focal_class.modifiers: public static
focal_class.parameters: (Vector2d norm1, Vector2d norm2)
focal_class.return: Vector2d
focal_class.signature: Vector2d bisectorNormalized(Vector2d norm1, Vector2d norm2)
focal_class.class_method_signature: Vector2dUtil.equalsEpsilon(double pNumber)
focal_class.full_signature: private static boolean equalsEpsilon(double pNumber)
focal_class.identifier: equalsEpsilon
focal_class.modifiers: private static
focal_class.parameters: (double pNumber)
focal_class.return: boolean
focal_class.signature: boolean equalsEpsilon(double pNumber)
focal_class.class_method_signature: Vector2dUtil.cross(Tuple2d u, Tuple2d v)
focal_class.full_signature: public static double cross(Tuple2d u, Tuple2d v)
focal_class.identifier: cross
focal_class.modifiers: public static
focal_class.parameters: (Tuple2d u, Tuple2d v)
focal_class.return: double
focal_class.signature: double cross(Tuple2d u, Tuple2d v)
focal_class.class_method_signature: Vector2dUtil.fromTo(Point2d begin, Point2d end)
focal_class.full_signature: public static Vector2d fromTo(Point2d begin, Point2d end)
focal_class.identifier: fromTo
focal_class.modifiers: public static
focal_class.parameters: (Point2d begin, Point2d end)
focal_class.return: Vector2d
focal_class.signature: Vector2d fromTo(Point2d begin, Point2d end)
focal_class.class_method_signature: Vector2dUtil.negate(Vector2d vector)
focal_class.full_signature: public static Vector2d negate(Vector2d vector)
focal_class.identifier: negate
focal_class.modifiers: public static
focal_class.parameters: (Vector2d vector)
focal_class.return: Vector2d
focal_class.signature: Vector2d negate(Vector2d vector)
focal_method.body: public static Vector2d bisector(Point2d p1, Point2d p2, Point2d p3) { // left
          // XXX rename to bisectorLeft
          return Vector2dUtil.bisector(Vector2dUtil.fromTo(p1, p2), Vector2dUtil.fromTo(p2, p3));
      }
focal_method.class_method_signature: Vector2dUtil.bisector(Point2d p1, Point2d p2, Point2d p3)
focal_method.full_signature: public static Vector2d bisector(Point2d p1, Point2d p2, Point2d p3)
focal_method.identifier: bisector
focal_method.invocations: bisector fromTo fromTo
focal_method.modifiers: public static
focal_method.parameters: (Point2d p1, Point2d p2, Point2d p3)
focal_method.return: Vector2d
focal_method.signature: Vector2d bisector(Point2d p1, Point2d p2, Point2d p3)