LuciadCPillar C# 2025.0
Luciad.Geometries.BezierCurve Class Reference

Represents a quadratic or cubic BezierCurve. More...

Inheritance diagram for Luciad.Geometries.BezierCurve:
Luciad.Geometries.Curve Luciad.Geometries.Geometry

Public Member Functions

Luciad.Cartesian.Coordinate GetControlPoint (uint index)
 Retrieves the control point at the given index. More...
 
Luciad.Geometries.BezierCurve MoveControlPoint (Luciad.Cartesian.Coordinate newLocation, uint index)
 Moves the control point at the given index to a new location. More...
 
Luciad.Geometries.BezierCurve MoveEndPoint (Luciad.Cartesian.Coordinate newLocation)
 Returns a copy of the Bézier curve with a moved end point. More...
 
Luciad.Geometries.BezierCurve MoveStartPoint (Luciad.Cartesian.Coordinate newLocation)
 Returns a copy of the Bézier curve with a moved start point. More...
 
- Public Member Functions inherited from Luciad.Geometries.Curve
virtual Luciad.Cartesian.Coordinate ComputePoint (double parameter)
 Computes a point of the curve, defined by the given parameter. More...
 
- Public Member Functions inherited from Luciad.Geometries.Geometry
void Dispose ()
 

Properties

uint ControlPointCount [get]
 The amount of control points defining the Bézier curve. More...
 
Luciad.Cartesian.Coordinate EndPoint [get]
 The end point (third control point) of the quadratic Bézier curve. More...
 
Luciad.Cartesian.Coordinate StartPoint [get]
 The start point (first control point) of the quadratic Bézier curve. More...
 
- Properties inherited from Luciad.Geometries.Curve
double Length2D [get]
 The length of the curve. More...
 
- Properties inherited from Luciad.Geometries.Geometry
Luciad.Geometries.Bounds Bounds [get]
 The bounds for the geometry object. More...
 
Luciad.Geodesy.CoordinateReference Reference [get]
 The coordinate reference of the geometry. More...
 

Detailed Description

Represents a quadratic or cubic BezierCurve.

A Bézier curve is defined by 3 or 4 control points:

  • the start point
  • one control point for a quadratic curve, or two control points for a cubic curve
  • the end point
See also
GeometryFactory.CreateQuadraticBezierCurve
GeometryFactory.CreateCubicBezierCurve

Member Function Documentation

◆ GetControlPoint()

Luciad.Cartesian.Coordinate Luciad.Geometries.BezierCurve.GetControlPoint ( uint  index)
inline

Retrieves the control point at the given index.

The available indices depends on the degree of the Bézier curve.

  • Quadratic Bézier curve (degree 2 => 3 control points):
    • 0 => start control point
    • 1 => intermediate control point
    • 2 => end control point
  • Cubic Bézier curve (degree 3 => 4 control points):
    • 0 => start control point
    • 1 or 2 => intermediate control points
    • 3 => end control point

Using indices out of this range will result in an exception.

Bézier curves with a higher degree are currently not supported.

Parameters
indexthe index of the control point
Returns
a copy of the Bézier curve with a moved control point.
Exceptions
System.ArgumentExceptionwhen the index of the control point is out of range (i.e. larger than 2 or 3, depending on the degree of the Bézier curve)
Since
2024.1

◆ MoveControlPoint()

Luciad.Geometries.BezierCurve Luciad.Geometries.BezierCurve.MoveControlPoint ( Luciad.Cartesian.Coordinate  newLocation,
uint  index 
)
inline

Moves the control point at the given index to a new location.

The available indices depends on the degree of the Bézier curve.

  • Quadratic Bézier curve (degree 2 => 3 control points):
    • 0 => start control point
    • 1 => intermediate control point
    • 2 => end control point
  • Cubic Bézier curve (degree 3 => 4 control points):
    • 0 => start control point
    • 1 or 2 => intermediate control points
    • 3 => end control point

Using indices out of this range will result in an exception.

Bézier curves with a higher degree are currently not supported.

Parameters
newLocationthe new location of the control point.
indexthe index of the control point
Returns
a copy of the Bézier curve with a moved control point.
Exceptions
System.ArgumentExceptionwhen the index of the control point is out of range (i.e. larger than 2 or 3, depending on the degree of the Bézier curve)
Since
2024.1

◆ MoveEndPoint()

Luciad.Geometries.BezierCurve Luciad.Geometries.BezierCurve.MoveEndPoint ( Luciad.Cartesian.Coordinate  newLocation)
inline

Returns a copy of the Bézier curve with a moved end point.

Parameters
newLocationthe new location of the point.
Returns
a copy of the Bézier curve with a moved end point.

◆ MoveStartPoint()

Luciad.Geometries.BezierCurve Luciad.Geometries.BezierCurve.MoveStartPoint ( Luciad.Cartesian.Coordinate  newLocation)
inline

Returns a copy of the Bézier curve with a moved start point.

Parameters
newLocationthe new location of the point.
Returns
a copy of the Bézier curve with a moved start point.

Property Documentation

◆ ControlPointCount

uint Luciad.Geometries.BezierCurve.ControlPointCount
get

The amount of control points defining the Bézier curve.

[get]

Returns the amount of control points defining the Bézier curve.

  • For a quadratic curve, it returns 3.
  • For a cubic curve, it returns 4.
Since
2024.1 [get]

◆ EndPoint

Luciad.Cartesian.Coordinate Luciad.Geometries.BezierCurve.EndPoint
get

The end point (third control point) of the quadratic Bézier curve.

[get]

Returns the end point (third control point) of the quadratic Bézier curve.

◆ StartPoint

Luciad.Cartesian.Coordinate Luciad.Geometries.BezierCurve.StartPoint
get

The start point (first control point) of the quadratic Bézier curve.

[get]

Returns the start point (first control point) of the quadratic Bézier curve.