Package org.eclipse.gef.geometry.planar
Class QuadraticCurve
java.lang.Object
org.eclipse.gef.geometry.planar.BezierCurve
org.eclipse.gef.geometry.planar.QuadraticCurve
- All Implemented Interfaces:
Serializable,Cloneable,ICurve,IGeometry,IRotatable<BezierCurve>,IScalable<BezierCurve>,ITranslatable<BezierCurve>
Represents the geometric shape of a quadratic Bézier curve.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionQuadraticCurve(double... coordinates) Constructs a newQuadraticCurvefrom the given sequence of x- and y-coordinates of the start-, the control-, and the end-point.QuadraticCurve(double x1, double y1, double ctrlX, double ctrlY, double x2, double y2) Constructs a new QuadraticCurve object from the given point coordinates.QuadraticCurve(Point... points) Constructs a newQuadraticCurvefrom the given sequence ofPoints formed by start-, control-, and end-point.QuadraticCurve(Point p1, Point pCtrl, Point p2) Constructs a new QuadraticCurve object from the given points. -
Method Summary
Modifier and TypeMethodDescriptionclone()Overridden with public visibility as recommended withinCloneable.getCopy()Returns a newQuadraticCurve, which has the same start, end, and control point coordinates as this one.getCtrl()Get the control point.doublegetCtrlX()Get the control point's x-coordinate.doublegetCtrlY()Get the control point's y-coordinate.Degree elevation: Returns aCubicCurverepresentation of thisQuadraticCurve.final inthashCode()Sets the curve's control point.setCtrlX(double ctrlX) Sets the x-coordinate of the curve's control point.setCtrlY(double ctrlY) Sets the y-coordinate of the curve's control point.split(double t) Splits this QuadraticCurve using the de Casteljau algorithm at parameter t into two separate QuadraticCurve objects.toPath()Transform the QuadraticCurve object to aPathobject with the same shape.toString()booleanMethods inherited from class org.eclipse.gef.geometry.planar.BezierCurve
contains, contains, equals, get, getBounds, getClipped, getControlBounds, getDerivative, getIntersections, getIntersections, getOffset, getOverlap, getOverlaps, getP1, getP2, getParameterAt, getPoint, getPoints, getProjection, getRotatedCCW, getRotatedCCW, getRotatedCCW, getRotatedCW, getRotatedCW, getRotatedCW, getScaled, getScaled, getScaled, getScaled, getScaled, getScaled, getTranslated, getTranslated, getX1, getX2, getY1, getY2, intersects, overlaps, overlaps, rotateCCW, rotateCCW, rotateCCW, rotateCW, rotateCW, rotateCW, scale, scale, scale, scale, scale, scale, setP1, setP2, setPoint, toBezier, toCubic, toLine, toLineStrip, toLineStrip, toPoints, toQuadratic, translate, translate
-
Constructor Details
-
QuadraticCurve
public QuadraticCurve(double... coordinates) Constructs a newQuadraticCurvefrom the given sequence of x- and y-coordinates of the start-, the control-, and the end-point.- Parameters:
coordinates- a sequence containing the x- and y-coordinates- See Also:
-
QuadraticCurve
public QuadraticCurve(double x1, double y1, double ctrlX, double ctrlY, double x2, double y2) Constructs a new QuadraticCurve object from the given point coordinates.- Parameters:
x1- the start point's x-coordinatey1- the start point's y-coordinatectrlX- the control point's x-coordinatectrlY- the control point's y-coordinatex2- the end point's x-coordinatey2- the end point's y-coordinate
-
QuadraticCurve
Constructs a newQuadraticCurvefrom the given sequence ofPoints formed by start-, control-, and end-point.- Parameters:
points- the controlPoints- See Also:
-
QuadraticCurve
Constructs a new QuadraticCurve object from the given points.- Parameters:
p1- the start pointpCtrl- the control pointp2- the end point
-
-
Method Details
-
getCopy
Returns a newQuadraticCurve, which has the same start, end, and control point coordinates as this one.- Specified by:
getCopyin interfaceIGeometry- Overrides:
getCopyin classBezierCurve- Returns:
- a new
QuadraticCurvewith the same start, end, and control point coordinates
-
getCtrl
Get the control point.- Returns:
- a Point object representing the control point
-
getCtrlX
public double getCtrlX()Get the control point's x-coordinate.- Returns:
- the control point's x-coordinate
-
getCtrlY
public double getCtrlY()Get the control point's y-coordinate.- Returns:
- the control point's y-coordinate
-
getElevated
Degree elevation: Returns aCubicCurverepresentation of thisQuadraticCurve.- Overrides:
getElevatedin classBezierCurve- Returns:
- A
CubicCurvethat represents thisQuadraticCurve.
-
getTransformed
Default implementation returning a transformedPathrepresentation of thisIGeometry. Subclasses may override this method to return a more specific representation.- Specified by:
getTransformedin interfaceIGeometry- Overrides:
getTransformedin classBezierCurve- Parameters:
t- TheAffineTransformto be applied- Returns:
- a transformed
Pathrepresentation of thisIGeometry - See Also:
-
setCtrl
Sets the curve's control point.- Parameters:
ctrl- The new curve's control point.- Returns:
thisfor convenience
-
setCtrlX
Sets the x-coordinate of the curve's control point.- Parameters:
ctrlX- The new x-coordinate of the curve's control point.- Returns:
thisfor convenience
-
setCtrlY
Sets the y-coordinate of the curve's control point.- Parameters:
ctrlY- The y-coordinate of the curve's control point.- Returns:
thisfor convenience
-
split
Splits this QuadraticCurve using the de Casteljau algorithm at parameter t into two separate QuadraticCurve objects. The returnedQuadraticCurves are the curves for [0, t] and [t, 1].- Overrides:
splitin classBezierCurve- Parameters:
t- in range [0,1]- Returns:
- two QuadraticCurve objects constituting the original curve: 1. [0, t] 2. [t, 1]
-
toPath
Transform the QuadraticCurve object to aPathobject with the same shape.- Specified by:
toPathin interfaceIGeometry- Overrides:
toPathin classBezierCurve- Returns:
- a
Pathobject representing the curve
-
toString
- Overrides:
toStringin classBezierCurve
-
clone
Overridden with public visibility as recommended withinCloneable. -
hashCode
public final int hashCode() -
touches
Description copied from interface:IGeometry
-