Interface Boundary3D

All Superinterfaces:
Boundary<Point3D>, Serializable
All Known Implementing Classes:
CompositeBoundary3D, ConvexPolyhedron3D

public interface Boundary3D extends Boundary<Point3D>
Interface for three-dimensional boundaries (volumes).
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • getDimension

      default int getDimension()
      Description copied from interface: Boundary
      Returns the dimensionality of this boundary.
      Specified by:
      getDimension in interface Boundary<Point3D>
      Returns:
      0 for point, 1 for line, 2 for polygon, 3 for polyhedron
    • getVertices

      List<Point3D> getVertices()
      Returns all vertices of this 3D boundary.
      Returns:
      list of vertices
    • getFaces

      List<Boundary3D.Face> getFaces()
      Returns all faces of this 3D boundary.
      Returns:
      list of faces
    • getVolume

      Real getVolume()
      Returns the volume of this 3D boundary.
      Returns:
      the volume
    • getSurfaceArea

      Real getSurfaceArea()
      Returns the surface area.
      Returns:
      the surface area
    • getMeasure

      default Real getMeasure()
      Description copied from interface: Boundary
      Computes the measure (length/area/volume) of this boundary. For 2D: area, for 3D: volume, for 1D: length.
      Specified by:
      getMeasure in interface Boundary<Point3D>
      Returns:
      the measure as a Real value
    • getBoundaryMeasure

      default Real getBoundaryMeasure()
      Description copied from interface: Boundary
      Computes the boundary measure (perimeter/surface area). For 2D: perimeter, for 3D: surface area.
      Specified by:
      getBoundaryMeasure in interface Boundary<Point3D>
      Returns:
      the boundary measure
    • isConvex

      boolean isConvex()
      Checks if this is a convex polyhedron.
      Returns:
      true if convex
    • rotateX

      Boundary3D rotateX(Real angleRadians)
      Rotates around the X axis.
      Parameters:
      angleRadians - rotation angle
      Returns:
      rotated boundary
    • rotateY

      Boundary3D rotateY(Real angleRadians)
      Rotates around the Y axis.
      Parameters:
      angleRadians - rotation angle
      Returns:
      rotated boundary
    • rotateZ

      Boundary3D rotateZ(Real angleRadians)
      Rotates around the Z axis.
      Parameters:
      angleRadians - rotation angle
      Returns:
      rotated boundary
    • rotateAround

      Boundary3D rotateAround(Vector3D axis, Real angleRadians)
      Rotates around an arbitrary axis.
      Parameters:
      axis - the rotation axis
      angleRadians - rotation angle
      Returns:
      rotated boundary
    • projectXY

      Boundary2D projectXY()
      Projects this 3D boundary onto the XY plane.
      Returns:
      a 2D boundary
    • projectXZ

      Boundary2D projectXZ()
      Projects this 3D boundary onto the XZ plane.
      Returns:
      a 2D boundary
    • projectYZ

      Boundary2D projectYZ()
      Projects this 3D boundary onto the YZ plane.
      Returns:
      a 2D boundary
    • slice

      Boundary2D slice(Vector3D planeNormal, Point3D pointOnPlane)
      Slices this boundary with a plane.
      Parameters:
      planeNormal - the plane normal
      pointOnPlane - a point on the plane
      Returns:
      the 2D cross-section