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:
java.io.Serializable,java.lang.Cloneable,ICurve,IGeometry,IRotatable<BezierCurve>,IScalable<BezierCurve>,ITranslatable<BezierCurve>
public class QuadraticCurve extends BezierCurve
Represents the geometric shape of a quadratic Bézier curve.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description QuadraticCurve(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()Overridden with public visibility as recommended withinCloneable.QuadraticCurvegetCopy()Returns a newQuadraticCurve, which has the same start, end, and control point coordinates as this one.PointgetCtrl()Get the control point.doublegetCtrlX()Get the control point's x-coordinate.doublegetCtrlY()Get the control point's y-coordinate.CubicCurvegetElevated()Degree elevation: Returns aCubicCurverepresentation of thisQuadraticCurve.QuadraticCurvegetTransformed(AffineTransform t)inthashCode()QuadraticCurvesetCtrl(Point ctrl)Sets the curve's control point.QuadraticCurvesetCtrlX(double ctrlX)Sets the x-coordinate of the curve's control point.QuadraticCurvesetCtrlY(double ctrlY)Sets the y-coordinate of the curve's control point.QuadraticCurve[]split(double t)Splits this QuadraticCurve using the de Casteljau algorithm at parameter t into two separate QuadraticCurve objects.PathtoPath()Transform the QuadraticCurve object to aPathobject with the same shape.java.lang.StringtoString()booleantouches(IGeometry g)-
Methods 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 Detail
-
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(double, double, double, double, double, double)
-
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
public QuadraticCurve(Point... points)
Constructs a newQuadraticCurvefrom the given sequence ofPoints formed by start-, control-, and end-point.- Parameters:
points- the controlPoints- See Also:
QuadraticCurve(Point, Point, Point)
-
-
Method Detail
-
getCopy
public QuadraticCurve 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
public Point 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
public CubicCurve getElevated()
Degree elevation: Returns aCubicCurverepresentation of thisQuadraticCurve.- Overrides:
getElevatedin classBezierCurve- Returns:
- A
CubicCurvethat represents thisQuadraticCurve.
-
getTransformed
public QuadraticCurve getTransformed(AffineTransform t)
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:
IGeometry.getTransformed(AffineTransform)
-
setCtrl
public QuadraticCurve setCtrl(Point ctrl)
Sets the curve's control point.- Parameters:
ctrl- The new curve's control point.- Returns:
thisfor convenience
-
setCtrlX
public QuadraticCurve setCtrlX(double ctrlX)
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
public QuadraticCurve setCtrlY(double ctrlY)
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
public QuadraticCurve[] split(double t)
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
public Path 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
public java.lang.String toString()
- Overrides:
toStringin classBezierCurve
-
clone
public java.lang.Object clone()
Overridden with public visibility as recommended withinCloneable.- Overrides:
clonein classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
-