|
||||||||||
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.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 OrientedCurve2D
point
- a point of the plane
OrientedCurve2D.getWindingAngle(java.awt.geom.Point2D)
public boolean isInside(Point2D pt)
isInside
in interface OrientedCurve2D
pt
- a point in the plane
public double getSignedDistance(Point2D point)
OrientedCurve2D
getSignedDistance
in interface OrientedCurve2D
point
- a point of the plane
public double getSignedDistance(double x, double y)
OrientedCurve2D
getSignedDistance
in interface OrientedCurve2D
x
- x-coord of a pointy
- y-coord of a point
OrientedCurve2D.getSignedDistance(java.awt.geom.Point2D)
public Vector2D getTangent(double t)
getTangent
in interface SmoothCurve2D
public double getCurvature(double t)
getCurvature
in interface SmoothCurve2D
public boolean isClosed()
isClosed
in interface ContinuousCurve2D
public double getT0()
getT0
in interface Curve2D
public double getT1()
getT1
in interface Curve2D
public Collection<Point2D> getIntersections(LinearShape2D line)
getIntersections
in interface Curve2D
Curve2D.getIntersections(math.geom2d.line.LinearShape2D)
public Point2D getPoint(double t)
Curve2D
getPoint
in interface Curve2D
Curve2D.getPoint(double)
public Point2D getFirstPoint()
getFirstPoint
in interface Curve2D
getFirstPoint
in class AbstractContinuousCurve2D
public Point2D getLastPoint()
getLastPoint
in interface Curve2D
getLastPoint
in class AbstractContinuousCurve2D
public double getPosition(Point2D point)
getPosition
in interface Curve2D
point
- a point belonging to the curve
public double project(Point2D point)
project
in interface Curve2D
point
- a point to project
public QuadBezierCurve2D getReverseCurve()
getReverseCurve
in interface ContinuousCurve2D
getReverseCurve
in interface Curve2D
getReverseCurve
in interface SmoothCurve2D
getReverseCurve
in interface ContinuousOrientedCurve2D
getReverseCurve
in interface OrientedCurve2D
public QuadBezierCurve2D getSubCurve(double t0, double t1)
getSubCurve
in interface ContinuousCurve2D
getSubCurve
in interface Curve2D
getSubCurve
in interface SmoothCurve2D
getSubCurve
in interface ContinuousOrientedCurve2D
t0
- 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 Shape2D
public boolean contains(Point2D p)
Shape2D
contains
in interface Shape2D
public double getDistance(Point2D p)
Shape2D
getDistance
in interface Shape2D
Shape2D.getDistance(java.awt.geom.Point2D)
public double getDistance(double x, double y)
getDistance
in interface Shape2D
Shape2D.getDistance(double, double)
public boolean isBounded()
isBounded
in interface Shape2D
public boolean isEmpty()
Shape2D
isEmpty
in interface Shape2D
public CurveSet2D<? extends QuadBezierCurve2D> 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 Shape2D
box
- the clipping box
public Box2D getBoundingBox()
Shape2D
getBoundingBox
in interface Shape2D
public QuadBezierCurve2D transform(AffineTransform2D trans)
transform
in interface ContinuousCurve2D
transform
in interface Curve2D
transform
in interface SmoothCurve2D
transform
in interface ContinuousOrientedCurve2D
transform
in interface OrientedCurve2D
transform
in interface Shape2D
trans
- an affine transform
public GeneralPath appendPath(GeneralPath path)
ContinuousCurve2D
appendPath
in interface ContinuousCurve2D
path
- a path to modify
public GeneralPath getGeneralPath()
public boolean equals(Object obj)
equals
in class Object
public QuadBezierCurve2D 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 |