Package org.locationtech.jts.shape
Class CubicBezierCurve
java.lang.Object
org.locationtech.jts.shape.CubicBezierCurve
Creates a curved geometry by replacing the segments
of the input with Cubic Bezier Curves.
The Bezier control points are determined from the segments of the geometry
and the alpha control parameter controlling curvedness, and
the optional skew parameter controlling the shape of the curve at vertices.
The Bezier Curves are created to be C2-continuous (smooth)
at each input vertex.
Alternatively, the Bezier control points can be supplied explicitly.
The result is not guaranteed to be valid, since large alpha values may cause self-intersections.
-
Method Summary
Modifier and TypeMethodDescriptionstatic Geometry
bezierCurve
(Geometry geom, double alpha) Creates a geometry of linearized Cubic Bezier Curves defined by the segments of the input and a parameter controlling how curved the result should be.static Geometry
bezierCurve
(Geometry geom, double alpha, double skew) Creates a geometry of linearized Cubic Bezier Curves defined by the segments of the input and a parameter controlling how curved the result should be, with a skew factor affecting the curve shape at each vertex.static Geometry
bezierCurve
(Geometry geom, Geometry controlPoints) Creates a geometry of linearized Cubic Bezier Curves defined by the segments of the input and a list (or lists) of control points.Gets the computed linearized Bezier curve geometry.
-
Method Details
-
bezierCurve
Creates a geometry of linearized Cubic Bezier Curves defined by the segments of the input and a parameter controlling how curved the result should be.- Parameters:
geom
- the geometry defining the curvealpha
- curvedness parameter (0 is linear, 1 is round, >1 is increasingly curved)- Returns:
- the linearized curved geometry
-
bezierCurve
Creates a geometry of linearized Cubic Bezier Curves defined by the segments of the input and a parameter controlling how curved the result should be, with a skew factor affecting the curve shape at each vertex.- Parameters:
geom
- the geometry defining the curvealpha
- curvedness parameter (0 is linear, 1 is round, >1 is increasingly curved)skew
- the skew parameter (0 is none, positive skews towards longer side, negative towards shorter- Returns:
- the linearized curved geometry
-
bezierCurve
Creates a geometry of linearized Cubic Bezier Curves defined by the segments of the input and a list (or lists) of control points.Typically the control point geometry is a
LineString
orMultiLineString
containing an element for each line or ring in the input geometry. The list of control points for each linear element must contain two vertices for each segment (and thus2 * npts - 2
).- Parameters:
geom
- the geometry defining the curvecontrolPoints
- a geometry containing the control point elements.- Returns:
- the linearized curved geometry
-
getResult
Gets the computed linearized Bezier curve geometry.- Returns:
- a linearized curved geometry
-