pythagoras.f

## 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.f.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(float px, float py)```
Returns true if this shape contains the specified point.
`boolean` ```contains(float rx, float ry, float rw, float rh)```
Returns true if this shape completely contains the specified rectangle.
`boolean` `containsAngle(float 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(float rx, float ry, float rw, float 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.f.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.f.IArc

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

`center, centerX, centerY, frame, frame, height, max, maxX, maxY, min, minX, minY, width, x, y`
• ### Methods inherited from interface pythagoras.f.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(float 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(float px,
float 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(float rx,
float ry,
float rw,
float 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(float rx,
float ry,
float rw,
float 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.

Copyright © 2017. All rights reserved.