org.eclipse.gef.geometry.planar

## Interface IShape

All Superinterfaces:
  java.lang.Cloneable, IGeometry, java.io.Serializable

All Known Implementing Classes:
  CurvedPolygon, Ellipse, Pie, Polygon, Rectangle, RoundedRectangle

    public interface IShape
    extends IGeometry

An `IShape` is the representation of an areal geometric object. It is thus the counterpart of an `ICurve`.

An `IShape` allows to test if another `IGeometry` is fully contained by it (`contains(IGeometry)`). Moreover its (closed) outline can be retrieved as an whole (`getOutline()`) or in the form of individual segments (`getOutlineSegments()`. As all other `IGeometry`s, an `IShape` may be transformed ( `getTransformed(AffineTransform)`) into another `IShape`.

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `contains(IGeometry g)` Tests whether the given `IGeometry` is fully contained by this `IShape`.
`ICurve` `getOutline()` Returns an `ICurve` representing the outline of this `IShape` .
`ICurve[]` `getOutlineSegments()` Returns the individual `ICurve` segments, which constitute the outline of this `IShape`.
`IShape` `getTransformed(AffineTransform t)` Returns a new `IShape`, which represents the given `IShape` after the application of the given `AffineTransform`.

### Methods inherited from interface org.eclipse.gef.geometry.planar.IGeometry

`contains, getBounds, getCopy, toPath, touches`

### Method Detail

#### contains

    boolean contains(IGeometry g)

Tests whether the given `IGeometry` is fully contained by this `IShape`.

Parameters:
  `g` - The `IGeometry` to test for containment
Returns:
  `true` if the given `IGeometry` is fully contained by this `IShape`, `false` otherwise.

#### getOutline

    ICurve getOutline()

Returns an `ICurve` representing the outline of this `IShape` .

Returns:
  An `ICurve` representing this `IShape`'s outline.

#### getOutlineSegments

    ICurve[] getOutlineSegments()

Returns the individual `ICurve` segments, which constitute the outline of this `IShape`.

Returns:
  The `ICurve` segments of this `IShape`'s outline.

#### getTransformed

    IShape getTransformed(AffineTransform t)

Returns a new `IShape`, which represents the given `IShape` after the application of the given `AffineTransform`.

Specified by:
  `getTransformed` in interface `IGeometry`
Parameters:
  `t` - The `AffineTransform` to be applied
Returns:
  A new `IGeometry` object representing this `IGeometry` after the application of the given `AffineTransform`.
See Also:
  `IGeometry.getTransformed(AffineTransform)`