pythagoras.d

Class AbstractArc

• All Implemented Interfaces:
Cloneable, IArc, IRectangularShape, IShape
Direct Known Subclasses:
Arc

```public abstract class AbstractArc
extends RectangularShape
implements IArc```
Provides most of the implementation of `IArc`, obtaining only the frame and other metrics from the derived class.

• Fields inherited from interface pythagoras.d.IArc

`CHORD, OPEN, PIE`
• Constructor Summary

Constructors
Constructor and Description
`AbstractArc()`
• Method Summary

All Methods
Modifier and Type Method and Description
`Rectangle` `bounds(Rectangle target)`
Initializes the supplied rectangle with this shape's bounding rectangle.
`Arc` `clone()`
Returns a mutable copy of this arc.
`boolean` ```contains(double px, double py)```
Returns true if this shape contains the specified point.
`boolean` ```contains(double rx, double ry, double rw, double rh)```
Returns true if this shape completely contains the specified rectangle.
`boolean` `containsAngle(double angle)`
Returns whether the specified angle is within the angular extents of this arc.
`Point` `endPoint()`
Returns the intersection of the ray from the center (defined by the starting angle plus the angular extent of the arc) and the elliptical boundary of the arc.
`Point` `endPoint(Point target)`
Writes the intersection of the ray from the center (defined by the starting angle plus the angular extent of the arc) and the elliptical boundary of the arc into `target`.
`boolean` ```intersects(double rx, double ry, double rw, double rh)```
Returns true if this shape intersects the specified rectangle.
`boolean` `isEmpty()`
Returns true if this shape encloses no area.
`PathIterator` `pathIterator(Transform at)`
Returns an iterator over the path described by this shape.
`Point` `startPoint()`
Returns the intersection of the ray from the center (defined by the starting angle) and the elliptical boundary of the arc.
`Point` `startPoint(Point target)`
Writes the intersection of the ray from the center (defined by the starting angle) and the elliptical boundary of the arc into `target`.
• Methods inherited from class pythagoras.d.RectangularShape

`bounds, center, centerX, centerY, contains, contains, frame, frame, intersects, max, maxX, maxY, min, minX, minY, pathIterator, setFrame, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal`
• Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• Methods inherited from interface pythagoras.d.IArc

`angleExtent, angleStart, arcType`
• Methods inherited from interface pythagoras.d.IRectangularShape

`center, centerX, centerY, frame, frame, height, max, maxX, maxY, min, minX, minY, width, x, y`
• Methods inherited from interface pythagoras.d.IShape

`bounds, contains, contains, intersects, pathIterator`
• Constructor Detail

• AbstractArc

`public AbstractArc()`
• Method Detail

• startPoint

`public Point startPoint()`
Description copied from interface: `IArc`
Returns the intersection of the ray from the center (defined by the starting angle) and the elliptical boundary of the arc.
Specified by:
`startPoint` in interface `IArc`
• startPoint

`public Point startPoint(Point target)`
Description copied from interface: `IArc`
Writes the intersection of the ray from the center (defined by the starting angle) and the elliptical boundary of the arc into `target`.
Specified by:
`startPoint` in interface `IArc`
Returns:
the supplied point.
• endPoint

`public Point endPoint()`
Description copied from interface: `IArc`
Returns the intersection of the ray from the center (defined by the starting angle plus the angular extent of the arc) and the elliptical boundary of the arc.
Specified by:
`endPoint` in interface `IArc`
• endPoint

`public Point endPoint(Point target)`
Description copied from interface: `IArc`
Writes the intersection of the ray from the center (defined by the starting angle plus the angular extent of the arc) and the elliptical boundary of the arc into `target`.
Specified by:
`endPoint` in interface `IArc`
Returns:
the supplied point.
• containsAngle

`public boolean containsAngle(double angle)`
Description copied from interface: `IArc`
Returns whether the specified angle is within the angular extents of this arc.
Specified by:
`containsAngle` in interface `IArc`
• clone

`public Arc clone()`
Description copied from interface: `IArc`
Returns a mutable copy of this arc.
Specified by:
`clone` in interface `IArc`
Overrides:
`clone` in class `Object`
• isEmpty

`public boolean isEmpty()`
Description copied from interface: `IShape`
Returns true if this shape encloses no area.
Specified by:
`isEmpty` in interface `IShape`
Overrides:
`isEmpty` in class `RectangularShape`
• contains

```public boolean contains(double px,
double py)```
Description copied from interface: `IShape`
Returns true if this shape contains the specified point.
Specified by:
`contains` in interface `IShape`
• contains

```public boolean contains(double rx,
double ry,
double rw,
double rh)```
Description copied from interface: `IShape`
Returns true if this shape completely contains the specified rectangle.
Specified by:
`contains` in interface `IShape`
• intersects

```public boolean intersects(double rx,
double ry,
double rw,
double rh)```
Description copied from interface: `IShape`
Returns true if this shape intersects the specified rectangle.
Specified by:
`intersects` in interface `IShape`
• bounds

`public Rectangle bounds(Rectangle target)`
Description copied from interface: `IShape`
Initializes the supplied rectangle with this shape's bounding rectangle.
Specified by:
`bounds` in interface `IShape`
Overrides:
`bounds` in class `RectangularShape`
Returns:
the supplied rectangle.
• pathIterator

`public PathIterator pathIterator(Transform at)`
Description copied from interface: `IShape`
Returns an iterator over the path described by this shape.
Specified by:
`pathIterator` in interface `IShape`
Parameters:
`at` - if supplied, the points in the path are transformed using this.