test_class.file: singa-mathematics/src/test/java/bio/singa/mathematics/geometry/bodies/SpheresTest.java
test_class.identifier: SpheresTest
test_case.body: @Test
      @DisplayName("spherical slicing with edge - trivial horizontal")
      void calculateSphereSlice4() {
          double actual = Spheres.calculateSphereSlice(new Vector2D(0, 0), 1, new SimpleLineSegment(new Vector2D(2, 0), new Vector2D(-2, 0)));
          assertEquals(Math.PI*2, actual);
      }
test_case.class_method_signature: SpheresTest.calculateSphereSlice4()
test_case.full_signature: @Test @DisplayName("spherical slicing with edge - trivial horizontal") void calculateSphereSlice4()
test_case.identifier: calculateSphereSlice4
test_case.invocations: calculateSphereSlice assertEquals
test_case.modifiers: @Test @DisplayName("spherical slicing with edge - trivial horizontal")
test_case.parameters: ()
test_case.return: void
test_case.signature: void calculateSphereSlice4()
focal_class.file: singa-mathematics/src/main/java/bio/singa/mathematics/geometry/bodies/Spheres.java
focal_class.identifier: Spheres
focal_class.class_method_signature: Spheres.Spheres()
focal_class.full_signature: private  Spheres()
focal_class.identifier: Spheres
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Spheres()
focal_class.class_method_signature: Spheres.calculateSurface(double radius)
focal_class.full_signature: public static double calculateSurface(double radius)
focal_class.identifier: calculateSurface
focal_class.modifiers: public static
focal_class.parameters: (double radius)
focal_class.return: double
focal_class.signature: double calculateSurface(double radius)
focal_class.class_method_signature: Spheres.calculateSphereTriangleSurface(Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.full_signature: public static double calculateSphereTriangleSurface(Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.identifier: calculateSphereTriangleSurface
focal_class.modifiers: public static
focal_class.parameters: (Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.return: double
focal_class.signature: double calculateSphereTriangleSurface(Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.class_method_signature: Spheres.calculateCenteredSphereTriangleSurface(Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.full_signature: public static double calculateCenteredSphereTriangleSurface(Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.identifier: calculateCenteredSphereTriangleSurface
focal_class.modifiers: public static
focal_class.parameters: (Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.return: double
focal_class.signature: double calculateCenteredSphereTriangleSurface(Sphere sphere, Vector3D point1, Vector3D point2, Vector3D point3)
focal_class.class_method_signature: Spheres.calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_class.full_signature: public static double calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_class.identifier: calculateSphereSlice
focal_class.modifiers: public static
focal_class.parameters: (Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_class.return: double
focal_class.signature: double calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_class.class_method_signature: Spheres.calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, Vector2D beam)
focal_class.full_signature: public static Map<MooreRectangularDirection, Double> calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, Vector2D beam)
focal_class.identifier: calculateSphereSlice
focal_class.modifiers: public static
focal_class.parameters: (Vector2D sphereCentre, double sphereRadius, Vector2D beam)
focal_class.return: Map<MooreRectangularDirection, Double>
focal_class.signature: Map<MooreRectangularDirection, Double> calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, Vector2D beam)
focal_method.body: public static double calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment) {
          double height = sphereRadius - lineSegment.distanceTo(sphereCentre);
          return 2 * PI * sphereRadius * height;
      }
focal_method.class_method_signature: Spheres.calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_method.full_signature: public static double calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_method.identifier: calculateSphereSlice
focal_method.invocations: distanceTo
focal_method.modifiers: public static
focal_method.parameters: (Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)
focal_method.return: double
focal_method.signature: double calculateSphereSlice(Vector2D sphereCentre, double sphereRadius, LineSegment lineSegment)