Package org.eclipse.gef.geometry.planar

# Class Pie

java.lang.Object
org.eclipse.gef.geometry.planar.Pie

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `IGeometry`, `IRotatable<Path>`, `IScalable<Pie>`, `IShape`, `ITranslatable<Pie>`

public class Pie extends Object implements IShape
The `Pie` is a closed `AbstractArcBasedGeometry`. It is the complement of the `Arc`, which is an open `AbstractArcBasedGeometry`. The `Pie` covers an area, therefore it implements the `IShape` interface.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Angle`
`angularExtent`
The counter-clockwise (CCW) `Angle` that spans this `AbstractArcBasedGeometry`.
`protected Angle`
`startAngle`
The counter-clockwise (CCW) `Angle` to the x-axis at which this `AbstractArcBasedGeometry` begins.

## Constructor Summary

Constructors
Constructor
Description
`Pie(double x, double y, double width, double height, Angle startAngle, Angle angularExtent)`
Constructs a new `Pie` from the given values.
`Pie(org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?> r, Angle startAngle, Angle angularExtent)`
Constructs a new `Pie` from the given values.
`Pie(Arc arc)`
Constructs a new `Pie` from the given `Arc`.

## Method Summary

Modifier and Type
Method
Description
`Object`
`clone()`
Overridden with public visibility as recommended within `Cloneable` .
`protected CubicCurve[]`
`computeBezierApproximation()`
Computes a `CubicCurve` approximation for this `AbstractArcBasedGeometry`.
`boolean`
`contains(IGeometry g)`
Tests whether the given `IGeometry` is fully contained by this `IShape`.
`boolean`
`contains(Point p)`
Returns whether the given `Point` is contained within this `IGeometry`.
`Pie`
`expand(double h, double v)`
Expands the horizontal and vertical sides of this `AbstractRectangleBasedGeometry` with the values provided as input, and returns `this` for convenience.
`Pie`
`expand(double left, double top, double right, double bottom)`
Expands this `AbstractRectangleBasedGeometry` by the given amounts, and returns this for convenience.
`Angle`
`getAngularExtent()`
Returns the extension `Angle` of this `AbstractArcBasedGeometry`, i.e. the `Angle` defining the span of this `AbstractArcBasedGeometry`.
`Rectangle`
`getBounds()`
Returns the smallest `Rectangle` fully enclosing this `IGeometry`.
`Point`
`getCenter()`
Returns the center `Point` of this `AbstractRectangleBasedGeometry`.
`Pie`
`getCopy()`
Returns a new identical copy of this `IGeometry`.
`Pie`
`getExpanded(double h, double v)`
Returns a new expanded `AbstractRectangleBasedGeometry`, where the sides are incremented by the horizontal and vertical values provided.
`Pie`
`getExpanded(double left, double top, double right, double bottom)`
Creates and returns a new `AbstractRectangleBasedGeometry` with the bounds of this `AbstractRectangleBasedGeometry` expanded by the given insets.
`final double`
`getHeight()`
Returns the height of this `AbstractRectangleBasedGeometry`.
`Point`
`getLocation()`
Returns a `Point` specifying the x and y coordinates of this `AbstractRectangleBasedGeometry`.
`PolyBezier`
`getOutline()`
Returns an `ICurve` representing the outline of this `IShape` .
`BezierCurve[]`
`getOutlineSegments()`
Returns the individual `ICurve` segments, which constitute the outline of this `IShape`.
`Point`
`getP1()`
Returns the start `Point` of this `AbstractArcBasedGeometry`.
`Point`
`getP2()`
Returns the end `Point` of this `AbstractArcBasedGeometry`.
`Point`
`getPoint(Angle angularExtent)`
Computes a `Point` on this `AbstractArcBasedGeometry`.
`Path`
`getRotatedCCW(Angle angle)`
Rotates the calling object by specified `Angle` counter-clock-wise (CCW) around its center `Point`.
`Path`
`getRotatedCCW(Angle angle, double cx, double cy)`
Rotates the calling object by the specified `Angle` counter-clock-wise (CCW) around the specified center `Point` (cx, cy).
`Path`
`getRotatedCCW(Angle angle, Point center)`
Rotates the calling object by the specified `Angle` counter-clock-wise (CCW) around the specified center `Point`.
`Path`
`getRotatedCW(Angle angle)`
Rotates the calling object by specified `Angle` clock-wise (CW) around its center `Point`.
`Path`
`getRotatedCW(Angle angle, double cx, double cy)`
Rotates the calling object by the specified `Angle` clock-wise (CW) around the specified center `Point` (cx, cy).
`Path`
`getRotatedCW(Angle angle, Point center)`
Rotates the calling object by the specified `Angle` clock-wise (CW) around the specified center `Point`.
`Pie`
`getScaled(double factor)`
Scales a copy of the calling object by the given factor relative to its center `Point`.
`Pie`
`getScaled(double factorX, double factorY)`
Scales a copy of the calling object by the given factors relative to its center `Point`.
`Pie`
`getScaled(double factor, double centerX, double centerY)`
Scales a copy of the calling object by the given factor relative to the given center `Point` (cx, cy).
`Pie`
`getScaled(double factorX, double factorY, double centerX, double centerY)`
Scales a copy of the calling object by the given factors relative to the given center `Point` (cx, cy).
`Pie`
`getScaled(double factorX, double factorY, Point center)`
Scales a copy of the calling object by the given factors relative to the given center `Point`.
`Pie`
`getScaled(double factor, Point center)`
Scales a copy of the calling object by the given factor relative to the given center `Point`.
`Pie`
`getShrinked(double h, double v)`
Returns a new `AbstractRectangleBasedGeometry`, where the sides are shrinked by the horizontal and vertical values supplied.
`Pie`
`getShrinked(double left, double top, double right, double bottom)`
Returns a new `AbstractRectangleBasedGeometry` shrinked by the specified insets.
`final Dimension`
`getSize()`
Returns a `Dimension` that records the width and height of this `AbstractRectangleBasedGeometry`.
`Angle`
`getStartAngle()`
Returns this `AbstractArcBasedGeometry`'s start `Angle`.
`CurvedPolygon`
`getTransformed(AffineTransform t)`
Default implementation returning a transformed `Path` representation of this `IGeometry`.
`Pie`
`getTranslated(double dx, double dy)`
Translates a copy of this object by the given values in x and y direction.
`Pie`
`getTranslated(Point pt)`
Translates a copy of this object by the given `Point`.
`final double`
`getWidth()`
Returns the width of this `AbstractRectangleBasedGeometry`.
`final double`
`getX()`
Returns the x coordinate this `AbstractRectangleBasedGeometry`.
`double`
`getX1()`
Returns the x coordinate of the start `Point` of this `AbstractArcBasedGeometry`.
`double`
`getX2()`
Returns the x coordinate of the end `Point` of this `AbstractArcBasedGeometry`.
`final double`
`getY()`
Returns the y coordinate of this `AbstractRectangleBasedGeometry`.
`double`
`getY1()`
Returns the y coordinate of the start `Point` of this `AbstractArcBasedGeometry`.
`double`
`getY2()`
Returns the y coordinate of the end `Point` of this `AbstractArcBasedGeometry`.
`final int`
`hashCode()`
`Pie`
`scale(double factor)`
Scales the calling object by the given factor relative to its center `Point`.
`Pie`
`scale(double fx, double fy)`
Scales the calling object by the given factors relative to the given center `Point`.
`Pie`
`scale(double factor, double cx, double cy)`
Scales the calling object by the given factor relative to the given center `Point` (cx, cy).
`Pie`
`scale(double fx, double fy, double cx, double cy)`
Scales the calling object by the given factors relative to the given center `Point` (cx, cy).
`Pie`
`scale(double fx, double fy, Point center)`
Scales the calling object by the given factors relative to the given center `Point`.
`Pie`
`scale(double factor, Point center)`
Scales the calling object by the given factor relative to the given center `Point`.
`Pie`
`setAngularExtent(Angle angularExtent)`
Sets the extension `Angle` of this `AbstractArcBasedGeometry` .
`final Pie`
`setBounds(double x, double y, double w, double h)`
Sets the x, y, width, and height values of this `AbstractRectangleBasedGeometry` to the given values.
`final Pie`
`setBounds(Point loc, Dimension size)`
Sets the x, y, width, and height values of this `AbstractRectangleBasedGeometry` to the respective values specified by the passed-in `Point` and the passed-in `Dimension`.
`final Pie`
`setBounds(Rectangle r)`
Sets the x and y coordinates and the width and height of this `AbstractRectangleBasedGeometry` to the respective values of the given `Rectangle`.
`final Pie`
`setHeight(double height)`
Sets the height of this `AbstractRectangleBasedGeometry` to the given value.
`final Pie`
`setLocation(double x, double y)`
Sets the x and y coordinates of this `AbstractRectangleBasedGeometry` to the specified values.
`final Pie`
`setLocation(Point p)`
Sets the x and y coordinates of this `AbstractRectangleBasedGeometry` to the respective values of the given `Point`.
`final Pie`
`setSize(double w, double h)`
Sets the width and height of this `AbstractRectangleBasedGeometry` to the given values.
`final Pie`
`setSize(Dimension d)`
Sets the width and height of this `AbstractRectangleBasedGeometry` to the width and height of the given `Dimension`.
`Pie`
`setStartAngle(Angle startAngle)`
Sets the start `Angle` of this `AbstractArcBasedGeometry`.
`final Pie`
`setWidth(double width)`
Sets the width of this `AbstractRectangleBasedGeometry` to the passed-in value.
`final Pie`
`setX(double x)`
Sets the x-coordinate of this `AbstractRectangleBasedGeometry` to the given value.
`final Pie`
`setY(double y)`
Sets the y-coordinate of this `AbstractRectangleBasedGeometry` to the given value.
`Pie`
`shrink(double h, double v)`
Shrinks the sides of this `AbstractRectangleBasedGeometry` by the horizontal and vertical values provided as input, and returns this `AbstractRectangleBasedGeometry` for convenience.
`Pie`
`shrink(double left, double top, double right, double bottom)`
Shrinks this `AbstractRectangleBasedGeometry` by the specified amounts.
`Path`
`toPath()`
Converts this `IGeometry` into a `Path` representation.
`boolean`
`touches(IGeometry g)`
Returns `true` if the input `IGeometry` touches this `IGeometry`, i.e. there is at least one common point.
`Pie`
`translate(double dx, double dy)`
Translates the object by the given values in x and y direction.
`Pie`
`translate(Point p)`
Translates the object by the given `Point`.

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

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

`touches`

## Field Details

### startAngle

protected Angle startAngle
The counter-clockwise (CCW) `Angle` to the x-axis at which this `AbstractArcBasedGeometry` begins.

### angularExtent

protected Angle angularExtent
The counter-clockwise (CCW) `Angle` that spans this `AbstractArcBasedGeometry`.

## Constructor Details

### Pie

public Pie(org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?> r, Angle startAngle, Angle angularExtent)
Constructs a new `Pie` from the given values.

Parameters:
  `r` - The `AbstractRectangleBasedGeometry` which provides the size for this `Pie`.
  `startAngle` - The counter-clockwise (CCW) `Angle` to the x-axis at which this `Pie` begins.
  `angularExtent` - The counter-clockwise (CCW) `Angle` that spans this `Pie`.

### Pie

public Pie(Arc arc)
Constructs a new `Pie` from the given `Arc`.

Parameters:
  `arc` - The `Arc` which provides size, start angle, and angular extent for this `Pie`.

### Pie

public Pie(double x, double y, double width, double height, Angle startAngle, Angle angularExtent)
Constructs a new `Pie` from the given values.

Parameters:
  `x` - The x-coordinate of the rectangular area which encloses thie `Pie`.
  `y` - The y-coordinate of the rectangular area which encloses thie `Pie`.
  `width` - The width of the rectangular area which encloses thie `Pie`.
  `height` - The height of the rectangular area which encloses thie `Pie`.
  `startAngle` - The counter-clockwise (CCW) `Angle` to the x-axis at which this `Pie` begins.
  `angularExtent` - The counter-clockwise (CCW) `Angle` that spans this `Pie`.
See Also:
  - `AbstractArcBasedGeometry(double, double, double, double, Angle, Angle)`

## Method Details

### contains

public boolean contains(IGeometry g)
Description copied from interface: `IShape`
Tests whether the given `IGeometry` is fully contained by this `IShape`.

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

### contains

public boolean contains(Point p)
Description copied from interface: `IGeometry`
Returns whether the given `Point` is contained within this `IGeometry`. This includes the case that the `Point` lies on the border of this `IGeometry`.

Specified by:
  `contains` in interface `IGeometry`
Parameters:
  `p` - The `Point` being tested for containment
Returns:
  `true` if the `Point` is contained within this `IGeometry`, `false` otherwise.

### getBounds

public Rectangle getBounds()
Description copied from interface: `IGeometry`
Returns the smallest `Rectangle` fully enclosing this `IGeometry`.

Specified by:
  `getBounds` in interface `IGeometry`
Returns:
  A new `Rectangle` object that fully encloses this `IGeometry`

### getCopy

public Pie getCopy()
Description copied from interface: `IGeometry`
Returns a new identical copy of this `IGeometry`.

Specified by:
  `getCopy` in interface `IGeometry`
Returns:
  a copy identical to this `IGeometry`
See Also:
  - `IGeometry.getCopy()`

### getOutline

public PolyBezier getOutline()
Description copied from interface: `IShape`
Returns an `ICurve` representing the outline of this `IShape` .

Specified by:
  `getOutline` in interface `IShape`
Returns:
  An `ICurve` representing this `IShape`'s outline.

### getOutlineSegments

public BezierCurve[] getOutlineSegments()
Description copied from interface: `IShape`
Returns the individual `ICurve` segments, which constitute the outline of this `IShape`.

Specified by:
  `getOutlineSegments` in interface `IShape`
Returns:
  The `ICurve` segments of this `IShape`'s outline.

### getRotatedCCW

public Path getRotatedCCW(Angle angle)
Description copied from interface: `IRotatable`
Rotates the calling object by specified `Angle` counter-clock-wise (CCW) around its center `Point`. Does not necessarily return an object of the same type.

Specified by:
  `getRotatedCCW` in interface `IRotatable<Path>`
Parameters:
  `angle` - rotation `Angle`
Returns:
  an `IGeometry` representing the result of the rotation

### getRotatedCCW

public Path getRotatedCCW(Angle angle, double cx, double cy)
Description copied from interface: `IRotatable`
Rotates the calling object by the specified `Angle` counter-clock-wise (CCW) around the specified center `Point` (cx, cy). Does not necessarily return an object of the same type.

Specified by:
  `getRotatedCCW` in interface `IRotatable<Path>`
Parameters:
  `angle` - rotation `Angle`
  `cx` - x-coordinate of the relative `Point` for the rotation
  `cy` - y-coordinate of the relative `Point` for the rotation
Returns:
  an `IGeometry` representing the result of the rotation

### getRotatedCCW

public Path getRotatedCCW(Angle angle, Point center)
Description copied from interface: `IRotatable`
Rotates the calling object by the specified `Angle` counter-clock-wise (CCW) around the specified center `Point`. Does not necessarily return an object of the same type.

Specified by:
  `getRotatedCCW` in interface `IRotatable<Path>`
Parameters:
  `angle` - rotation `Angle`
  `center` - relative `Point` for the rotation
Returns:
  an `IGeometry` representing the result of the rotation

### getRotatedCW

public Path getRotatedCW(Angle angle)
Description copied from interface: `IRotatable`
Rotates the calling object by specified `Angle` clock-wise (CW) around its center `Point`. Does not necessarily return an object of the same type.

Specified by:
  `getRotatedCW` in interface `IRotatable<Path>`
Parameters:
  `angle` - rotation `Angle`
Returns:
  an `IGeometry` representing the result of the rotation

### getRotatedCW

public Path getRotatedCW(Angle angle, double cx, double cy)
Description copied from interface: `IRotatable`
Rotates the calling object by the specified `Angle` clock-wise (CW) around the specified center `Point` (cx, cy). Does not necessarily return an object of the same type.

Specified by:
  `getRotatedCW` in interface `IRotatable<Path>`
Parameters:
  `angle` - rotation `Angle`
  `cx` - x-coordinate of the relative `Point` for the rotation
  `cy` - y-coordinate of the relative `Point` for the rotation
Returns:
  an `IGeometry` representing the result of the rotation

### getRotatedCW

public Path getRotatedCW(Angle angle, Point center)
Description copied from interface: `IRotatable`
Rotates the calling object by the specified `Angle` clock-wise (CW) around the specified center `Point`. Does not necessarily return an object of the same type.

Specified by:
  `getRotatedCW` in interface `IRotatable<Path>`
Parameters:
  `angle` - rotation `Angle`
  `center` - relative `Point` for the rotation
Returns:
  an `IGeometry` representing the result of the rotation

### getTransformed

public CurvedPolygon getTransformed(AffineTransform t)
Default implementation returning a transformed `Path` representation of this `IGeometry`. Subclasses may override this method to return a more specific representation.

Specified by:
  `getTransformed` in interface `IGeometry`
Specified by:
  `getTransformed` in interface `IShape`
Parameters:
  `t` - The `AffineTransform` to be applied
Returns:
  a transformed `Path` representation of this `IGeometry`
See Also:
  - `IGeometry.getTransformed(AffineTransform)`

### toPath

public Path toPath()
Description copied from interface: `IGeometry`
Converts this `IGeometry` into a `Path` representation.

Specified by:
  `toPath` in interface `IGeometry`
Returns:
  A new `Path` representation for this `IGeometry`.
See Also:
  - `IGeometry.toPath()`

### computeBezierApproximation

protected CubicCurve[] computeBezierApproximation()
Computes a `CubicCurve` approximation for this `AbstractArcBasedGeometry`. It is approximated by a maximum of four `CubicCurve`s, each of which covers a maximum of 90 degrees.

Returns:
  a `CubicCurve` approximation for this `AbstractArcBasedGeometry`

### getAngularExtent

public Angle getAngularExtent()
Returns the extension `Angle` of this `AbstractArcBasedGeometry`, i.e. the `Angle` defining the span of this `AbstractArcBasedGeometry`.

Returns:
  the extension `Angle` of this `AbstractArcBasedGeometry`

### getP1

public Point getP1()
Returns the start `Point` of this `AbstractArcBasedGeometry`.

Returns:
  the start `Point` of this `AbstractArcBasedGeometry`

### getP2

public Point getP2()
Returns the end `Point` of this `AbstractArcBasedGeometry`.

Returns:
  the end `Point` of this `AbstractArcBasedGeometry`

### getPoint

public Point getPoint(Angle angularExtent)
Computes a `Point` on this `AbstractArcBasedGeometry`. The `Point`'s coordinates are calculated by moving the given `Angle` on this `AbstractArcBasedGeometry` starting at this `AbstractArcBasedGeometry`'s start `Point`.

Parameters:
  `angularExtent` - the `Angle` to move from the start `Point` of this `AbstractArcBasedGeometry`
Returns:
  the `Point` at the given extension `Angle`

### getStartAngle

public Angle getStartAngle()
Returns this `AbstractArcBasedGeometry`'s start `Angle`.

Returns:
  this `AbstractArcBasedGeometry`'s start `Angle`

### getX1

public double getX1()
Returns the x coordinate of the start `Point` of this `AbstractArcBasedGeometry`.

Returns:
  the x coordinate of the start `Point` of this `AbstractArcBasedGeometry`

### getX2

public double getX2()
Returns the x coordinate of the end `Point` of this `AbstractArcBasedGeometry`.

Returns:
  the x coordinate of the end `Point` of this `AbstractArcBasedGeometry`

### getY1

public double getY1()
Returns the y coordinate of the start `Point` of this `AbstractArcBasedGeometry`.

Returns:
  the y coordinate of the start `Point` of this `AbstractArcBasedGeometry`

### getY2

public double getY2()
Returns the y coordinate of the end `Point` of this `AbstractArcBasedGeometry`.

Returns:
  the y coordinate of the end `Point` of this `AbstractArcBasedGeometry`

### setAngularExtent

public Pie setAngularExtent(Angle angularExtent)
Sets the extension `Angle` of this `AbstractArcBasedGeometry` .

Parameters:
  `angularExtent` - the new extension `Angle` for this `AbstractArcBasedGeometry`
Returns:
  `this` for convenience

### setStartAngle

public Pie setStartAngle(Angle startAngle)
Sets the start `Angle` of this `AbstractArcBasedGeometry`.

Parameters:
  `startAngle` - the new start `Angle` for this `AbstractArcBasedGeometry`
Returns:
  `this` for convenience

### expand

public Pie expand(double h, double v)
Expands the horizontal and vertical sides of this `AbstractRectangleBasedGeometry` with the values provided as input, and returns `this` for convenience. The location of its center is kept constant.

Parameters:
  `h` - the horizontal increment
  `v` - the vertical increment
Returns:
  `this` for convenience

### expand

public Pie expand(double left, double top, double right, double bottom)
Expands this `AbstractRectangleBasedGeometry` by the given amounts, and returns this for convenience.

Parameters:
  `left` - the amount to expand the left side
  `top` - the amount to expand the top side
  `right` - the amount to expand the right side
  `bottom` - the amount to expand the bottom side
Returns:
  `this` for convenience

### getCenter

public Point getCenter()
Returns the center `Point` of this `AbstractRectangleBasedGeometry`.

Returns:
  the center `Point` of this `AbstractRectangleBasedGeometry`

### getExpanded

public Pie getExpanded(double h, double v)
Returns a new expanded `AbstractRectangleBasedGeometry`, where the sides are incremented by the horizontal and vertical values provided. The center of the `AbstractRectangleBasedGeometry` is maintained constant.

Parameters:
  `h` - The horizontal increment
  `v` - The vertical increment
Returns:
  a new expanded `AbstractRectangleBasedGeometry`

### getExpanded

public Pie getExpanded(double left, double top, double right, double bottom)
Creates and returns a new `AbstractRectangleBasedGeometry` with the bounds of this `AbstractRectangleBasedGeometry` expanded by the given insets.

Parameters:
  `left` - the amount to expand the left side
  `top` - the amount to expand the top side
  `right` - the amount to expand the right side
  `bottom` - the amount to expand the bottom side
Returns:
  a new expanded `AbstractRectangleBasedGeometry`

### getHeight

public final double getHeight()
Returns the height of this `AbstractRectangleBasedGeometry`.

Returns:
  the height of this `AbstractRectangleBasedGeometry`

### getLocation

public Point getLocation()
Returns a `Point` specifying the x and y coordinates of this `AbstractRectangleBasedGeometry`.

Returns:
  a `Point` representing the x and y coordinates of this `AbstractRectangleBasedGeometry`

### getScaled

public Pie getScaled(double factor)
Description copied from interface: `IScalable`
Scales a copy of the calling object by the given factor relative to its center `Point`.

Specified by:
  `getScaled` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factor` - scale-factor
Returns:
  the new, scaled object

### getScaled

public Pie getScaled(double factorX, double factorY)
Description copied from interface: `IScalable`
Scales a copy of the calling object by the given factors relative to its center `Point`.

Specified by:
  `getScaled` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factorX` - x-scale-factor
  `factorY` - y-scale-factor
Returns:
  the new, scaled object

### getScaled

public Pie getScaled(double factor, double centerX, double centerY)
Description copied from interface: `IScalable`
Scales a copy of the calling object by the given factor relative to the given center `Point` (cx, cy).

Specified by:
  `getScaled` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factor` - scale-factor
  `centerX` - x-coordinate of the relative `Point` for the scaling
  `centerY` - y-coordinate of the relative `Point` for the scaling
Returns:
  the new, scaled object

### getScaled

public Pie getScaled(double factorX, double factorY, double centerX, double centerY)
Description copied from interface: `IScalable`
Scales a copy of the calling object by the given factors relative to the given center `Point` (cx, cy).

Specified by:
  `getScaled` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factorX` - x-scale-factor
  `factorY` - y-scale-factor
  `centerX` - x-coordinate of the relative `Point` for the scaling
  `centerY` - y-coordinate of the relative `Point` for the scaling
Returns:
  the new, scaled object

### getScaled

public Pie getScaled(double factorX, double factorY, Point center)
Description copied from interface: `IScalable`
Scales a copy of the calling object by the given factors relative to the given center `Point`.

Specified by:
  `getScaled` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factorX` - x-scale-factor
  `factorY` - y-scale-factor
  `center` - relative `Point` for the scaling
Returns:
  the new, scaled object

### getScaled

public Pie getScaled(double factor, Point center)
Description copied from interface: `IScalable`
Scales a copy of the calling object by the given factor relative to the given center `Point`.

Specified by:
  `getScaled` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factor` - scale-factor
  `center` - relative `Point` for the scaling
Returns:
  the new, scaled object

### getShrinked

public Pie getShrinked(double h, double v)
Returns a new `AbstractRectangleBasedGeometry`, where the sides are shrinked by the horizontal and vertical values supplied. The center of this `AbstractRectangleBasedGeometry` is kept constant.

Parameters:
  `h` - horizontal reduction amount
  `v` - vertical reduction amount
Returns:
  a new, shrinked `AbstractRectangleBasedGeometry`

### getShrinked

public Pie getShrinked(double left, double top, double right, double bottom)
Returns a new `AbstractRectangleBasedGeometry` shrinked by the specified insets.

Parameters:
  `left` - the amount to shrink the left side
  `top` - the amount to shrink the top side
  `right` - the amount to shrink the right side
  `bottom` - the amount to shrink the bottom side
Returns:
  a new, shrinked `AbstractRectangleBasedGeometry`

### getSize

public final Dimension getSize()
Returns a `Dimension` that records the width and height of this `AbstractRectangleBasedGeometry`.

Returns:
  a `Dimension` that records the width and height of this `AbstractRectangleBasedGeometry`

### getTranslated

public Pie getTranslated(double dx, double dy)
Description copied from interface: `ITranslatable`
Translates a copy of this object by the given values in x and y direction.

Specified by:
  `getTranslated` in interface `ITranslatable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `dx` - x-translation
  `dy` - y-translation
Returns:
  a new, translated object

### getTranslated

public Pie getTranslated(Point pt)
Description copied from interface: `ITranslatable`
Translates a copy of this object by the given `Point`.

Specified by:
  `getTranslated` in interface `ITranslatable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `pt` - translation `Point`
Returns:
  a new, translated object

### getWidth

public final double getWidth()
Returns the width of this `AbstractRectangleBasedGeometry`.

Returns:
  the width of this `AbstractRectangleBasedGeometry`

### getX

public final double getX()
Returns the x coordinate this `AbstractRectangleBasedGeometry`.

Returns:
  the x coordinate this `AbstractRectangleBasedGeometry`

### getY

public final double getY()
Returns the y coordinate of this `AbstractRectangleBasedGeometry`.

Returns:
  the y coordinate of this `AbstractRectangleBasedGeometry`

### scale

public Pie scale(double factor)
Description copied from interface: `IScalable`
Scales the calling object by the given factor relative to its center `Point`.

Specified by:
  `scale` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factor` - scale-factor
Returns:
  `this` for convenience

### scale

public Pie scale(double fx, double fy)
Description copied from interface: `IScalable`
Scales the calling object by the given factors relative to the given center `Point`.

Specified by:
  `scale` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `fx` - x-scale-factor
  `fy` - y-scale-factor
Returns:
  `this` for convenience

### scale

public Pie scale(double factor, double cx, double cy)
Description copied from interface: `IScalable`
Scales the calling object by the given factor relative to the given center `Point` (cx, cy).

Specified by:
  `scale` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factor` - scale-factor
  `cx` - x-coordinate of the relative `Point` for the scaling
  `cy` - y-coordinate of the relative `Point` for the scaling
Returns:
  `this` for convenience

### scale

public Pie scale(double fx, double fy, double cx, double cy)
Description copied from interface: `IScalable`
Scales the calling object by the given factors relative to the given center `Point` (cx, cy).

Specified by:
  `scale` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `fx` - x-scale-factor
  `fy` - y-scale-factor
  `cx` - x-coordinate of the relative `Point` for the scaling
  `cy` - y-coordinate of the relative `Point` for the scaling
Returns:
  `this` for convenience

### scale

public Pie scale(double fx, double fy, Point center)
Description copied from interface: `IScalable`
Scales the calling object by the given factors relative to the given center `Point`.

Specified by:
  `scale` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `fx` - x-scale-factor
  `fy` - y-scale-factor
  `center` - relative `Point` for the scaling
Returns:
  `this` for convenience

### scale

public Pie scale(double factor, Point center)
Description copied from interface: `IScalable`
Scales the calling object by the given factor relative to the given center `Point`.

Specified by:
  `scale` in interface `IScalable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `factor` - scale-factor
  `center` - relative `Point` for the scaling
Returns:
  `this` for convenience

### setBounds

public final Pie setBounds(double x, double y, double w, double h)
Sets the x, y, width, and height values of this `AbstractRectangleBasedGeometry` to the given values.

Parameters:
  `x` - the new x-coordinate
  `y` - the new y-coordinate
  `w` - the new width
  `h` - the new height
Returns:
  `this` for convenience

### setBounds

public final Pie setBounds(Point loc, Dimension size)
Sets the x, y, width, and height values of this `AbstractRectangleBasedGeometry` to the respective values specified by the passed-in `Point` and the passed-in `Dimension`.

Parameters:
  `loc` - the `Point` specifying the new x and y coordinates of this `AbstractRectangleBasedGeometry`
  `size` - the `Dimension` specifying the new width and height of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setBounds

public final Pie setBounds(Rectangle r)
Sets the x and y coordinates and the width and height of this `AbstractRectangleBasedGeometry` to the respective values of the given `Rectangle`.

Parameters:
  `r` - the `Rectangle` specifying the new x, y, width, and height values of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setHeight

public final Pie setHeight(double height)
Sets the height of this `AbstractRectangleBasedGeometry` to the given value.

Parameters:
  `height` - the new height
Returns:
  `this` for convenience

### setLocation

public final Pie setLocation(double x, double y)
Sets the x and y coordinates of this `AbstractRectangleBasedGeometry` to the specified values.

Parameters:
  `x` - the new x coordinate of this `AbstractRectangleBasedGeometry`
  `y` - the new y coordinate of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setLocation

public final Pie setLocation(Point p)
Sets the x and y coordinates of this `AbstractRectangleBasedGeometry` to the respective values of the given `Point`.

Parameters:
  `p` - the `Point` specifying the new x and y coordinates of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setSize

public final Pie setSize(Dimension d)
Sets the width and height of this `AbstractRectangleBasedGeometry` to the width and height of the given `Dimension`.

Parameters:
  `d` - the `Dimension` specifying the new width and height of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setSize

public final Pie setSize(double w, double h)
Sets the width and height of this `AbstractRectangleBasedGeometry` to the given values.

Parameters:
  `w` - the new width of this `AbstractRectangleBasedGeometry`
  `h` - the new height of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setWidth

public final Pie setWidth(double width)
Sets the width of this `AbstractRectangleBasedGeometry` to the passed-in value.

Parameters:
  `width` - the new width of this `AbstractRectangleBasedGeometry`
Returns:
  `this` for convenience

### setX

public final Pie setX(double x)
Sets the x-coordinate of this `AbstractRectangleBasedGeometry` to the given value.

Parameters:
  `x` - The new x-coordinate.
Returns:
  `this` for convenience.

### setY

public final Pie setY(double y)
Sets the y-coordinate of this `AbstractRectangleBasedGeometry` to the given value.

Parameters:
  `y` - The new y-coordinate.
Returns:
  `this` for convenience.

### shrink

public Pie shrink(double h, double v)
Shrinks the sides of this `AbstractRectangleBasedGeometry` by the horizontal and vertical values provided as input, and returns this `AbstractRectangleBasedGeometry` for convenience. The center of this `AbstractRectangleBasedGeometry` is kept constant.

Parameters:
  `h` - horizontal reduction amount
  `v` - vertical reduction amount
Returns:
  `this` for convenience

### shrink

public Pie shrink(double left, double top, double right, double bottom)
Shrinks this `AbstractRectangleBasedGeometry` by the specified amounts.

Parameters:
  `left` - the amount to shrink the left side
  `top` - the amount to shrink the top side
  `right` - the amount to shrink the right side
  `bottom` - the amount to shrink the bottom side
Returns:
  `this` for convenience

### translate

public Pie translate(double dx, double dy)
Description copied from interface: `ITranslatable`
Translates the object by the given values in x and y direction.

Specified by:
  `translate` in interface `ITranslatable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `dx` - x-translation
  `dy` - y-translation
Returns:
  `this` for convenience

### translate

public Pie translate(Point p)
Description copied from interface: `ITranslatable`
Translates the object by the given `Point`.

Specified by:
  `translate` in interface `ITranslatable<T extends org.eclipse.gef.geometry.planar.AbstractRectangleBasedGeometry<?,?>>`
Parameters:
  `p` - translation `Point`
Returns:
  `this` for convenience

### clone

public Object clone()
Overridden with public visibility as recommended within `Cloneable` .

Overrides:
  `clone` in class `Object`

### hashCode

public final int hashCode()

Overrides:
  `hashCode` in class `Object`
See Also:
  - `Object.hashCode()`

### touches

public boolean touches(IGeometry g)
Description copied from interface: `IGeometry`
Returns `true` if the input `IGeometry` touches this `IGeometry`, i.e. there is at least one common point.

Specified by:
  `touches` in interface `IGeometry`
Parameters:
  `g` - The `IGeometry` for the intersection test
Returns:
  `true` if the input `IGeometry` and this `IGeometry` have at least one common point.