Record Class Circle

java.lang.Object
java.lang.Record
technology.sola.math.geometry.Circle
Record Components:
radius - the radius of the circle
center - the center point of the circle
All Implemented Interfaces:
Shape

@NullMarked public record Circle(float radius, Vector2D center) extends Record implements Shape
Circle represents a geometric circle.
  • Constructor Details

    • Circle

      public Circle(float radius, Vector2D center)
      Creates a circle with defined radius and center. If the radius provided is zero then a degenerate circle will be created.
      Parameters:
      radius - the radius of the circle, positive number
      center - the center point of the circle
  • Method Details

    • contains

      public boolean contains(Vector2D point)
      Description copied from interface: Shape
      Checks if this Shape contains a point.
      Specified by:
      contains in interface Shape
      Parameters:
      point - the point to check
      Returns:
      true if this shape contains the point
    • getPoints

      public Vector2D[] getPoints()
      Specified by:
      getPoints in interface Shape
      Returns:
      the array of points making up this shape
    • getCentroid

      public Vector2D getCentroid()
      Description copied from interface: Shape
      Calculates and returns the centroid of this Shape.
      Specified by:
      getCentroid in interface Shape
      Returns:
      the centroid
    • getArea

      public float getArea()
      Description copied from interface: Shape
      Calculates the area of this shape and return it.
      Specified by:
      getArea in interface Shape
      Returns:
      the area of this shape
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • radius

      public float radius()
      Returns the value of the radius record component.
      Returns:
      the value of the radius record component
    • center

      public Vector2D center()
      Returns the value of the center record component.
      Returns:
      the value of the center record component