# Package java.awt.geom

Classes to represent 2D objects and different path transformations.

## Interface Summary

PathIterator This interface provides a directed path over the boundary of a shape.

## Class Summary

AffineTransform This class represents an affine transformation between two coordinate spaces in 2 dimensions.
Arc2D This class represents all arcs (segments of an ellipse in 2-D space).
Arc2D.Double This class implements an arc in double precision.
Arc2D.Float This class implements an arc in float precision.
Area The Area class represents any area for the purpose of Constructive Area Geometry (CAG) manipulations.
CubicCurve2D A two-dimensional curve that is parameterized with a cubic function.
CubicCurve2D.Double A two-dimensional curve that is parameterized with a cubic function and stores coordinate values in double-precision floating-point format.
CubicCurve2D.Float A two-dimensional curve that is parameterized with a cubic function and stores coordinate values in single-precision floating-point format.
Dimension2D This stores a dimension in 2-dimensional space - a width (along the x-axis) and height (along the y-axis).
Ellipse2D Ellipse2D is the shape of an ellipse.
Ellipse2D.Double An `Ellipse2D` that stores its coordinates using `double` primitives.
Ellipse2D.Float An `Ellipse2D` that stores its coordinates using `float` primitives.
FlatteningPathIterator A PathIterator for approximating curved path segments by sequences of straight lines.
GeneralPath A general geometric path, consisting of any number of subpaths constructed out of straight lines and cubic or quadratic Bezier curves.
Line2D Represents a directed line bewteen two points in (x,y) Cartesian space.
Line2D.Double This class defines a point in `double` precision.
Line2D.Float This class defines a point in `float` precision.
Point2D This class implements a generic point in 2D Cartesian space.
Point2D.Double This class defines a point in `double` precision.
Point2D.Float This class defines a point in `float` precision.
QuadCurve2D A two-dimensional curve that is parameterized with a quadratic function.
QuadCurve2D.Double A two-dimensional curve that is parameterized with a quadratic function and stores coordinate values in double-precision floating-point format.
QuadCurve2D.Float A two-dimensional curve that is parameterized with a quadratic function and stores coordinate values in single-precision floating-point format.
Rectangle2D This class describes a rectangle by a point (x,y) and dimension (w x h).
Rectangle2D.Double This class defines a rectangle in `double` precision.
Rectangle2D.Float This class defines a rectangle in `float` precision.
RectangularShape This class provides a generic framework, and several helper methods, for subclasses which represent geometric objects inside a rectangular frame.
RoundRectangle2DThis class implements a rectangle with rounded corners.
RoundRectangle2D.Double A subclass of RoundRectangle which keeps its parameters as doubles.
RoundRectangle2D.Float A subclass of RoundRectangle which keeps its parameters as floats.

## Exception Summary

IllegalPathStateException Thrown when an operation on a path is in an illegal state, such as appending a segment to a `GeneralPath` without an initial moveto.
NoninvertibleTransformException Thrown if an operation requires an inverse of an `AffineTransform`, but the transform is in a non-invertible state.
Classes to represent 2D objects and different path transformations.