|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||

java.lang.Objectmath.geom2d.curve.AbstractContinuousCurve2D
math.geom2d.curve.AbstractSmoothCurve2D
math.geom2d.spline.QuadBezierCurve2D
public class QuadBezierCurve2D
A quadratic bezier curve, defined by 3 points. From javaGeom 0.8.0, this shape does not extends. java.awt.geom.QuadCurve2D.Double anymore
| Field Summary | |
|---|---|
protected double |
ctrlx
|
protected double |
ctrly
|
protected double |
x1
|
protected double |
x2
|
protected double |
y1
|
protected double |
y2
|
| Fields inherited from interface math.geom2d.Shape2D |
|---|
ACCURACY |
| Constructor Summary | |
|---|---|
QuadBezierCurve2D()
|
|
QuadBezierCurve2D(double[][] coefs)
Build a new Bezier curve from its array of coefficients. |
|
QuadBezierCurve2D(double x1,
double y1,
double xctrl,
double yctrl,
double x2,
double y2)
Build a new quadratic Bezier curve by specifying position of extreme points and position of control point. |
|
QuadBezierCurve2D(Point2D[] pts)
|
|
QuadBezierCurve2D(Point2D p1,
Point2D ctrl,
Point2D p2)
Build a new quadratic Bezier curve by specifying position of extreme points and position of control point. |
|
| Method Summary | |
|---|---|
GeneralPath |
appendPath(GeneralPath path)
Append the path of the curve to the given path. |
CurveSet2D<? extends QuadBezierCurve2D> |
clip(Box2D box)
Clip the circle arc by a box. |
QuadBezierCurve2D |
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 p)
Checks if the shape contains the given point. |
static QuadBezierCurve2D |
create(Point2D p1,
Point2D p2,
Point2D p3)
Static factory for creating a new Quadratic Bezier curve from 3 points. |
boolean |
equals(Object obj)
|
Box2D |
getBoundingBox()
Returns the bounding box of the shape. |
Point2D |
getControl()
|
Point2D |
getCtrl()
|
double |
getCurvature(double t)
returns the curvature of the Curve. |
double |
getDistance(double x,
double y)
Compute approximated distance, computed on a polyline. |
double |
getDistance(Point2D p)
get 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. |
Point2D |
getFirstPoint()
Get the first point of the curve. |
GeneralPath |
getGeneralPath()
|
Collection<Point2D> |
getIntersections(LinearShape2D line)
Use approximation, by replacing Bezier curve with a polyline. |
Point2D |
getLastPoint()
Get the last point of the curve. |
Point2D |
getP1()
|
Point2D |
getP2()
|
double[][] |
getParametric()
Returns the matrix of parametric representation of the line. |
Point2D |
getPoint(double t)
Gets the point from a parametric representation of the curve. |
double |
getPosition(Point2D point)
Compute position by approximating cubic spline with a polyline. |
QuadBezierCurve2D |
getReverseCurve()
Returns the bezier curve given by control points taken in reverse order. |
double |
getSignedDistance(double x,
double y)
The same as getSignedDistance(Point2D), but by passing 2 double as arguments. |
double |
getSignedDistance(Point2D point)
Get the signed distance of the curve to the given point: this distance is positive if the point lies outside the shape, and is negative if the point lies inside the shape. |
QuadBezierCurve2D |
getSubCurve(double t0,
double t1)
Computes portion of BezierCurve. |
double |
getT0()
Returns 0, as Bezier curve is parametrized between 0 and 1. |
double |
getT1()
Returns 1, as Bezier curve is parametrized between 0 and 1. |
Vector2D |
getTangent(double t)
|
double |
getWindingAngle(Point2D point)
Use winding angle of approximated polyline |
boolean |
isBounded()
return true, a cubic Bezier Curve is always bounded. |
boolean |
isClosed()
The cubic curve is never closed. |
boolean |
isEmpty()
Returns true if the shape does not contain any point. |
boolean |
isInside(Point2D pt)
return true if the point is 'inside' the domain bounded by the curve. |
double |
project(Point2D point)
Compute position by approximating cubic spline with a polyline. |
QuadBezierCurve2D |
transform(AffineTransform2D trans)
Returns the Bezier Curve transformed by the given AffineTransform2D. |
| Methods inherited from class math.geom2d.curve.AbstractSmoothCurve2D |
|---|
getLeftTangent, getRightTangent, getSingularPoints, getSmoothPieces, isSingular |
| Methods inherited from class math.geom2d.curve.AbstractContinuousCurve2D |
|---|
draw, getAsAWTShape, getAsPolyline, getContinuousCurves, wrapCurve |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface math.geom2d.curve.ContinuousCurve2D |
|---|
getAsPolyline, getLeftTangent, getRightTangent, getSmoothPieces |
| Methods inherited from interface math.geom2d.curve.Curve2D |
|---|
draw, getAsAWTShape, getContinuousCurves, getSingularPoints, isSingular |
| Field Detail |
|---|
protected double x1
protected double y1
protected double ctrlx
protected double ctrly
protected double x2
protected double y2
| Constructor Detail |
|---|
public QuadBezierCurve2D()
public QuadBezierCurve2D(double[][] coefs)
coefs - the coefficients of the QuadBezierCurve2D.
public QuadBezierCurve2D(Point2D p1,
Point2D ctrl,
Point2D p2)
p1 - first pointctrl - control pointp2 - last pointpublic QuadBezierCurve2D(Point2D[] pts)
public QuadBezierCurve2D(double x1,
double y1,
double xctrl,
double yctrl,
double x2,
double y2)
| Method Detail |
|---|
public static QuadBezierCurve2D create(Point2D p1,
Point2D p2,
Point2D p3)
public Point2D getControl()
public Point2D getP1()
public Point2D getP2()
public Point2D getCtrl()
public double[][] getParametric()
[ cx0 cx1 cx2]
[ cy0 cy1 cy2]
Coefficients are from the parametric equation :
x(t) = cx0 + cx1*t + cx2*t^2
y(t) = cy0 + cy1*t + cy2*t^2
public double getWindingAngle(Point2D point)
getWindingAngle in interface OrientedCurve2Dpoint - a point of the plane
OrientedCurve2D.getWindingAngle(java.awt.geom.Point2D)public boolean isInside(Point2D pt)
isInside in interface OrientedCurve2Dpt - a point in the plane
public double getSignedDistance(Point2D point)
OrientedCurve2D
getSignedDistance in interface OrientedCurve2Dpoint - a point of the plane
public double getSignedDistance(double x,
double y)
OrientedCurve2D
getSignedDistance in interface OrientedCurve2Dx - x-coord of a pointy - y-coord of a point
OrientedCurve2D.getSignedDistance(java.awt.geom.Point2D)public Vector2D getTangent(double t)
getTangent in interface SmoothCurve2Dpublic double getCurvature(double t)
getCurvature in interface SmoothCurve2Dpublic boolean isClosed()
isClosed in interface ContinuousCurve2Dpublic double getT0()
getT0 in interface Curve2Dpublic double getT1()
getT1 in interface Curve2Dpublic Collection<Point2D> getIntersections(LinearShape2D line)
getIntersections in interface Curve2DCurve2D.getIntersections(math.geom2d.line.LinearShape2D)public Point2D getPoint(double t)
Curve2D
getPoint in interface Curve2DCurve2D.getPoint(double)public Point2D getFirstPoint()
getFirstPoint in interface Curve2DgetFirstPoint in class AbstractContinuousCurve2Dpublic Point2D getLastPoint()
getLastPoint in interface Curve2DgetLastPoint in class AbstractContinuousCurve2Dpublic double getPosition(Point2D point)
getPosition in interface Curve2Dpoint - a point belonging to the curve
public double project(Point2D point)
project in interface Curve2Dpoint - a point to project
public QuadBezierCurve2D getReverseCurve()
getReverseCurve in interface ContinuousCurve2DgetReverseCurve in interface Curve2DgetReverseCurve in interface SmoothCurve2DgetReverseCurve in interface ContinuousOrientedCurve2DgetReverseCurve in interface OrientedCurve2D
public QuadBezierCurve2D getSubCurve(double t0,
double t1)
getSubCurve in interface ContinuousCurve2DgetSubCurve in interface Curve2DgetSubCurve in interface SmoothCurve2DgetSubCurve in interface ContinuousOrientedCurve2Dt0 - position of the start of the sub-curvet1 - position of the end of the sub-curve
public boolean contains(double x,
double y)
Shape2D
contains in interface Shape2Dpublic boolean contains(Point2D p)
Shape2D
contains in interface Shape2Dpublic double getDistance(Point2D p)
Shape2D
getDistance in interface Shape2DShape2D.getDistance(java.awt.geom.Point2D)
public double getDistance(double x,
double y)
getDistance in interface Shape2DShape2D.getDistance(double, double)public boolean isBounded()
isBounded in interface Shape2Dpublic boolean isEmpty()
Shape2D
isEmpty in interface Shape2Dpublic CurveSet2D<? extends QuadBezierCurve2D> clip(Box2D box)
clip in interface ContinuousCurve2Dclip in interface Curve2Dclip in interface SmoothCurve2Dclip in interface ContinuousOrientedCurve2Dclip in interface OrientedCurve2Dclip in interface Shape2Dbox - the clipping box
public Box2D getBoundingBox()
Shape2D
getBoundingBox in interface Shape2Dpublic QuadBezierCurve2D transform(AffineTransform2D trans)
transform in interface ContinuousCurve2Dtransform in interface Curve2Dtransform in interface SmoothCurve2Dtransform in interface ContinuousOrientedCurve2Dtransform in interface OrientedCurve2Dtransform in interface Shape2Dtrans - an affine transform
public GeneralPath appendPath(GeneralPath path)
ContinuousCurve2D
appendPath in interface ContinuousCurve2Dpath - a path to modify
public GeneralPath getGeneralPath()
public boolean equals(Object obj)
equals in class Objectpublic QuadBezierCurve2D clone()
Curve2D
clone in interface Curve2Dclone in class AbstractSmoothCurve2D
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||