LuciadCPillar 2024.0.04
luciad::Curve Class Referenceabstract

1-dimensional geometric primitive, representing the continuous image of a line. More...

#include <luciad/geometries/Curve.h>

Inheritance diagram for luciad::Curve:
luciad::Geometry luciad::BezierCurve luciad::CircularArcBy3Points luciad::CircularArcByBulge luciad::CircularArcByCenterPoint luciad::CompositeCurve luciad::EllipticalArc luciad::Line luciad::Ring

Public Member Functions

virtual Coordinate computePoint (double parameter) const =0
 Computes a point of the curve, defined by the given parameter. More...
 
virtual double getLength2D () const =0
 Returns the length of the curve. More...
 
- Public Member Functions inherited from luciad::Geometry
virtual ~Geometry ()=default
 
virtual Bounds getBounds () const =0
 Returns the bounds for the geometry object. More...
 
virtual std::shared_ptr< CoordinateReferencegetReference () const =0
 Returns the coordinate reference of the geometry. More...
 

Additional Inherited Members

- Protected Member Functions inherited from luciad::Geometry
virtual size_t getHash () const =0
 Returns the hash value for this geometry. More...
 

Detailed Description

1-dimensional geometric primitive, representing the continuous image of a line.

One-dimensional geometries may be composed of simple curve segments where for adjacent curve segments the end and start point fall together to form a continuous geometry. A curve may be composed of curve segments that each have a different interpolation type. The most common use for curves is to have curve segments with the same interpolation type (e.g. polyline).

You can read more about the available geometries here.

Member Function Documentation

◆ computePoint()

virtual Coordinate luciad::Curve::computePoint ( double  parameter) const
pure virtual

Computes a point of the curve, defined by the given parameter.

  1. At parameter 0, the point is the start point of the curve.
  2. At parameter 1, the point is the end point of the curve.
Parameters
parameterthe parameter value, within [0,1], to compute the point location for.
Returns
the computed point location.
Exceptions
luciad::InvalidArgumentExceptionif parameter is not within [0,1], or if the point could not be computed. For example, when the curve is defined by invalid points.

Implemented in luciad::ArcBand, luciad::BezierCurve, luciad::CircleBy3Points, luciad::CircleByCenterPoint, luciad::CircularArcBy3Points, luciad::CircularArcByBulge, luciad::CircularArcByCenterPoint, luciad::CompositeCurve, luciad::CompositeRing, luciad::Ellipse, luciad::EllipticalArc, luciad::Line, luciad::Polyline, and luciad::PolylineRing.

◆ getLength2D()

virtual double luciad::Curve::getLength2D ( ) const
pure virtual