|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object math.geom2d.curve.AbstractContinuousCurve2D math.geom2d.curve.AbstractSmoothCurve2D math.geom2d.conic.EllipseArc2D
public class EllipseArc2D
An arc of ellipse. It is defined by a supporting ellipse, a starting angle, and a signed angle extent, both in radians. The ellipse arc is oriented counter-clockwise if angle extent is positive, and clockwise otherwise.
Field Summary |
---|
Fields inherited from interface math.geom2d.Shape2D |
---|
ACCURACY |
Constructor Summary | |
---|---|
EllipseArc2D()
Construct a default Ellipse arc, centered on (0,0), with radii equal to 1 and 1, orientation equal to 0, start angle equal to 0, and angle extent equal to PI/2. |
|
EllipseArc2D(double xc,
double yc,
double a,
double b,
double theta,
double start,
double extent)
Specify parameters of supporting ellipse, start angle, and angle extent. |
|
EllipseArc2D(double xc,
double yc,
double a,
double b,
double theta,
double start,
double end,
boolean direct)
Specify parameters of supporting ellipse, bounding angles and flag for direct ellipse. |
|
EllipseArc2D(Ellipse2D ell,
double start,
double extent)
Specify supporting ellipse, start angle and angle extent. |
|
EllipseArc2D(Ellipse2D ell,
double start,
double end,
boolean direct)
Specify supporting ellipse, start angle and end angle, and a flag indicating whether the arc is directed or not. |
Method Summary | |
---|---|
boolean |
almostEquals(GeometricObject2D obj,
double eps)
Checks if the two objects are similar up to a given threshold value. |
java.awt.geom.GeneralPath |
appendPath(java.awt.geom.GeneralPath path)
Append the path of the curve to the given path. |
Polyline2D |
asPolyline(int n)
Converts this continuous curve to an instance of LinearCurve2D with the given number of edges. |
Box2D |
boundingBox()
Returns the bounding box of the shape. |
CurveSet2D<? extends EllipseArc2D> |
clip(Box2D box)
Clips the ellipse arc by a box. |
EllipseArc2D |
clone()
Overrides Object declaration to ensure Curve2D implementation are cloned as Curve2D. |
boolean |
contains(double x,
double y)
Checks if the shape contains the planar point defined by (x,y). |
boolean |
contains(Point2D point)
Checks if the shape contains the given point. |
boolean |
containsAngle(double angle)
|
java.util.Collection<? extends EllipseArc2D> |
continuousCurves()
Returns the collection of continuous curves which constitute this curve. |
static EllipseArc2D |
create(Ellipse2D ell,
double start,
double extent)
Deprecated. since 0.11.1 |
static EllipseArc2D |
create(Ellipse2D ell,
double start,
double end,
boolean direct)
Deprecated. since 0.11.1 |
double |
curvature(double t)
Returns the curvature of the ellipse arc. |
double |
distance(double x,
double y)
Returns the distance of the shape to the given point, specified by x and y, or the distance of point to the frontier of the shape in the case of a plain (i.e. fillable) shape. |
double |
distance(Point2D point)
Returns the distance of the shape to the given point, or the distance of point to the frontier of the shape in the case of a plain shape. |
void |
draw(java.awt.Graphics2D g2)
Draws the curve on the given Graphics2D object. |
boolean |
equals(java.lang.Object obj)
|
double |
getAngle(double position)
Returns the angle associated with the given position |
double |
getAngleExtent()
|
java.awt.geom.GeneralPath |
getGeneralPath()
|
double |
getStartAngle()
|
Ellipse2D |
getSupportingEllipse()
|
double |
getT0()
Deprecated. replaced by t0() (since 0.11.1). |
double |
getT1()
Deprecated. replaced by t1() (since 0.11.1). |
java.util.Collection<Point2D> |
intersections(LinearShape2D line)
Returns the intersection points of the curve with the specified line. |
boolean |
isBounded()
Always return true: an ellipse arc is bounded by definition |
boolean |
isClosed()
Returns false, as an ellipse arc is never closed. |
boolean |
isDirect()
Returns true if the ellipse arc is direct, i.e. if the angle extent is positive (or zero). |
boolean |
isEmpty()
Returns false. |
boolean |
isInside(Point2D p)
Returns true if the point is 'inside' the domain bounded by the curve. |
Point2D |
point(double t)
Returns the point located at the given position on the curve. |
double |
position(Point2D point)
Computes the position of the point on the curve. |
double |
project(Point2D point)
Returns the position of the closest orthogonal projection of the point on the curve, or of the closest singular point. |
EllipseArc2D |
reverse()
Returns the ellipse arc which refers to the reversed parent ellipse, with same start angle, and with opposite angle extent. |
double |
signedDistance(double x,
double y)
The same as distanceSigned(Point2D), but by passing 2 double as arguments. |
double |
signedDistance(Point2D p)
Returns the signed distance of the curve to the given point. |
java.util.Collection<? extends EllipseArc2D> |
smoothPieces()
Returns a collection of curves containing only this circle arc. |
EllipseArc2D |
subCurve(double t0,
double t1)
Returns a new EllipseArc2D. |
double |
t0()
Always returns 0 |
double |
t1()
Always returns the absolute value of the angle extent |
Vector2D |
tangent(double t)
Returns the tangent of the curve at the given position. |
java.lang.String |
toString()
|
EllipseArc2D |
transform(AffineTransform2D trans)
Transforms the curve by an affine transform. |
double |
windingAngle(Point2D point)
Return the angle portion that the curve turn around the given point. |
Methods inherited from class math.geom2d.curve.AbstractSmoothCurve2D |
---|
isSingular, leftTangent, normal, rightTangent, singularPoints, vertices |
Methods inherited from class math.geom2d.curve.AbstractContinuousCurve2D |
---|
asAwtShape, firstPoint, lastPoint |
Methods inherited from class java.lang.Object |
---|
getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface math.geom2d.curve.SmoothCurve2D |
---|
normal |
Methods inherited from interface math.geom2d.curve.ContinuousCurve2D |
---|
leftTangent, rightTangent |
Methods inherited from interface math.geom2d.curve.Curve2D |
---|
asAwtShape, firstPoint, isSingular, lastPoint, singularPoints, vertices |
Constructor Detail |
---|
public EllipseArc2D()
public EllipseArc2D(Ellipse2D ell, double start, double extent)
ell
- the supporting ellipsestart
- the starting angle (angle between 0 and 2*PI)extent
- the angle extent (signed angle)public EllipseArc2D(Ellipse2D ell, double start, double end, boolean direct)
ell
- the supporting ellipsestart
- the starting angleend
- the ending angledirect
- flag indicating if the arc is directpublic EllipseArc2D(double xc, double yc, double a, double b, double theta, double start, double extent)
public EllipseArc2D(double xc, double yc, double a, double b, double theta, double start, double end, boolean direct)
Method Detail |
---|
@Deprecated public static EllipseArc2D create(Ellipse2D ell, double start, double extent)
ell
- the supporting ellipsestart
- the starting angleextent
- the (signed) angle extent@Deprecated public static EllipseArc2D create(Ellipse2D ell, double start, double end, boolean direct)
ell
- the supporting ellipsestart
- the starting angleend
- the ending angledirect
- flag indicating if the arc is directpublic Ellipse2D getSupportingEllipse()
public double getStartAngle()
public double getAngleExtent()
public boolean isDirect()
public boolean containsAngle(double angle)
public double getAngle(double position)
public double windingAngle(Point2D point)
OrientedCurve2D
windingAngle
in interface OrientedCurve2D
point
- a point of the plane
public boolean isInside(Point2D p)
OrientedCurve2D
isInside
in interface OrientedCurve2D
p
- a point in the plane
public double signedDistance(Point2D p)
OrientedCurve2D
signedDistance
in interface OrientedCurve2D
p
- a point of the plane
public double signedDistance(double x, double y)
OrientedCurve2D
signedDistance
in interface OrientedCurve2D
x
- x-coord of a pointy
- y-coord of a point
public Vector2D tangent(double t)
SmoothCurve2D
tangent
in interface SmoothCurve2D
t
- a position on the curve
SmoothCurve2D.normal(double)
public double curvature(double t)
curvature
in interface ContinuousCurve2D
t
- the position on the curve
public boolean isClosed()
isClosed
in interface ContinuousCurve2D
public java.util.Collection<? extends EllipseArc2D> smoothPieces()
smoothPieces
in interface ContinuousCurve2D
smoothPieces
in class AbstractSmoothCurve2D
public Polyline2D asPolyline(int n)
AbstractContinuousCurve2D
asPolyline
in interface ContinuousCurve2D
asPolyline
in class AbstractContinuousCurve2D
n
- the number of line segments
n
line segments.ContinuousCurve2D.asPolyline(int)
public double t0()
t0
in interface Curve2D
@Deprecated public double getT0()
getT0
in interface Curve2D
public double t1()
t1
in interface Curve2D
@Deprecated public double getT1()
getT1
in interface Curve2D
public Point2D point(double t)
Curve2D
point
in interface Curve2D
public double position(Point2D point)
Curve2D
point(double)
method.
position
in interface Curve2D
point
- a point belonging to the curve
Curve2D.point(double)
public double project(Point2D point)
Curve2D
project
in interface Curve2D
point
- a point to project
public java.util.Collection<Point2D> intersections(LinearShape2D line)
Curve2D
intersections
in interface Curve2D
public EllipseArc2D reverse()
reverse
in interface EllipseArcShape2D
reverse
in interface ContinuousCurve2D
reverse
in interface Curve2D
reverse
in interface SmoothCurve2D
reverse
in interface ContinuousOrientedCurve2D
reverse
in interface OrientedCurve2D
reverse
in interface SmoothOrientedCurve2D
public java.util.Collection<? extends EllipseArc2D> continuousCurves()
Curve2D
continuousCurves
in interface Curve2D
continuousCurves
in class AbstractContinuousCurve2D
public EllipseArc2D subCurve(double t0, double t1)
subCurve
in interface EllipseArcShape2D
subCurve
in interface ContinuousCurve2D
subCurve
in interface Curve2D
subCurve
in interface SmoothCurve2D
subCurve
in interface ContinuousOrientedCurve2D
subCurve
in interface SmoothOrientedCurve2D
t0
- position of the start of the sub-curvet1
- position of the end of the sub-curve
public double distance(Point2D point)
Shape2D
distance
in interface Shape2D
public double distance(double x, double y)
Shape2D
distance
in interface Shape2D
public boolean isBounded()
isBounded
in interface Shape2D
public boolean isEmpty()
isEmpty
in interface Shape2D
public CurveSet2D<? extends EllipseArc2D> clip(Box2D box)
clip
in interface ContinuousCurve2D
clip
in interface Curve2D
clip
in interface SmoothCurve2D
clip
in interface ContinuousOrientedCurve2D
clip
in interface OrientedCurve2D
clip
in interface SmoothOrientedCurve2D
clip
in interface Shape2D
box
- the clipping box
public Box2D boundingBox()
Shape2D
boundingBox
in interface Shape2D
public EllipseArc2D transform(AffineTransform2D trans)
Curve2D
transform
in interface EllipseArcShape2D
transform
in interface ContinuousCurve2D
transform
in interface Curve2D
transform
in interface SmoothCurve2D
transform
in interface ContinuousOrientedCurve2D
transform
in interface OrientedCurve2D
transform
in interface SmoothOrientedCurve2D
transform
in interface Shape2D
trans
- an affine transform
public boolean contains(double x, double y)
Shape2D
contains
in interface Shape2D
public boolean contains(Point2D point)
Shape2D
contains
in interface Shape2D
public java.awt.geom.GeneralPath appendPath(java.awt.geom.GeneralPath path)
ContinuousCurve2D
appendPath
in interface ContinuousCurve2D
path
- a path to modify
public java.awt.geom.GeneralPath getGeneralPath()
public void draw(java.awt.Graphics2D g2)
Curve2D
draw
in interface Curve2D
draw
in interface Shape2D
draw
in class AbstractContinuousCurve2D
g2
- the graphics to draw the curve inpublic boolean almostEquals(GeometricObject2D obj, double eps)
GeometricObject2D
almostEquals
in interface GeometricObject2D
obj
- the object to compareeps
- a threshold value, for example the minimal coordinate difference
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public EllipseArc2D clone()
Curve2D
clone
in interface Curve2D
clone
in class AbstractSmoothCurve2D
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |