# Package org.eclipse.gef.geometry.planar

This package provides support for geometric calculations based on shapes.

Interface Summary
ICurve: The `ICurve` interface provides operations that allow the analysis of linear geometric objects and the transfer to `BezierCurve` segments ( `ICurve.toBezier()`).
IGeometry: A glance at the list of implementing classes reveals that the `IGeometry` interface bundles all the basic common methods for planar geometric objects.
IMultiShape: In contradiction to the relation of the IPolyCurve to the ICurve interfaces, the IMultiShape interface does not extend the IShape interface.
IRotatable<T extends IGeometry>: The `IRotatable` interface collects the out-of-place rotation short-cut methods.
IScalable<T extends IGeometry>: The `IScalable` interface collects all scaling short-cut methods.
IShape: An `IShape` is the representation of an areal geometric object.
ITranslatable<T extends IGeometry>: The `ITranslatable` interface collects all translation short-cut methods.

Class Summary
AffineTransform: The `AffineTransform` class provides methods to create and modify 2-dimensional affine transformations.
Arc: Represents the geometric shape of an `Arc`, which is defined by its enclosing framing `Rectangle`, a start `Angle` (relative to the x-axis), and an angular extend in counter-clockwise (CCW) direction.
BezierCurve: Instances of the `BezierCurve` class individually represent an arbitrary Bezier curve.
CubicCurve: An instance of the `CubicCurve` class represents a `BezierCurve` of degree 3, having a start and an end `Point` and two handle `Point`s.
CurvedPolygon: A `CurvedPolygon` is an `IShape` with `BezierCurve` edges.
Dimension: A `Dimension` represents a width and a height in 2-dimensional space.
Ellipse: Represents the geometric shape of an ellipse.
Line: Represents the geometric shape of a line (or linear curve).
Path: Represents the geometric shape of a path, which may consist of independent subgraphs.
Path.Segment: Representation for different types of `Path.Segment`s.
Pie: The `Pie` is a closed `AbstractArcBasedGeometry`.
Point: Represents a point (x, y) in 2-dimensional space.
PolyBezier: A `PolyBezier` is an `ICurve` which consists of one or more connected `BezierCurve`s.
Polygon: Represents the geometric shape of a convex polygon.
Polyline: Represents the geometric shape of a polyline.
QuadraticCurve: Represents the geometric shape of a quadratic Bézier curve.
Rectangle: Represents the geometric shape of a rectangle, where a rectangle is characterized by means of its upper left corner (x,y) and its size (width, height).
Region: A combination of `Rectangle`s.
Ring: A combination of Polygons....
RoundedRectangle: Represents the geometric shape of a rounded rectangle, i.e. a rectangle with rounded corners.