LuciadCPillar 2023.1.04
luciad::CompositeRing Class Reference

Represents a composite ring. More...

#include <luciad/geometries/CompositeRing.h>

Inheritance diagram for luciad::CompositeRing:
luciad::Ring luciad::Curve luciad::Geometry luciad::ArcBand luciad::PolylineRing

Public Member Functions

 ~CompositeRing () override
 
Coordinate computePoint (double parameter) const override
 Computes a point of the curve, defined by the given parameter. More...
 
Bounds getBounds () const override
 Returns the bounds for the geometry object. More...
 
virtual std::shared_ptr< CurvegetCurveAt (size_t index) const
 Returns the curve for the requested index. More...
 
virtual size_t getCurveCount () const
 Returns the number of curves in this composite. More...
 
double getLength2D () const override
 Returns the length of the curve. More...
 
std::shared_ptr< CoordinateReferencegetReference () const override
 Returns the coordinate reference of the geometry. More...
 
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...
 

Protected Member Functions

size_t getHash () const override
 Returns the hash value for this geometry. More...
 
virtual size_t getHash () const =0
 Returns the hash value for this geometry. More...
 

Detailed Description

Represents a composite ring.

See also
GeometryFactory::createCompositeRing

Constructor & Destructor Documentation

◆ ~CompositeRing()

luciad::CompositeRing::~CompositeRing ( )
override

Member Function Documentation

◆ computePoint()

Coordinate luciad::CompositeRing::computePoint ( double  parameter) const
overridevirtual

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.

Implements luciad::Curve.

Reimplemented in luciad::PolylineRing.

◆ getBounds()

Bounds luciad::CompositeRing::getBounds ( ) const
overridevirtual

Returns the bounds for the geometry object.

Returns
the bounds for the geometry object.
Exceptions
luciad::InvalidArgumentExceptionif the bounds could not be computed. For example, when the geometry is defined by invalid points.

Implements luciad::Geometry.

Reimplemented in luciad::PolylineRing.

◆ getCurveAt()

virtual std::shared_ptr< Curve > luciad::CompositeRing::getCurveAt ( size_t  index) const
virtual

Returns the curve for the requested index.

Parameters
indexthe curve index
Returns
the curve at index
See also
getCurveCount
Exceptions
luciad::InvalidArgumentExceptionwhen requesting an invalid index.

Reimplemented in luciad::ArcBand, and luciad::PolylineRing.

◆ getCurveCount()

virtual size_t luciad::CompositeRing::getCurveCount ( ) const
virtual

Returns the number of curves in this composite.

Returns
the number of curves in this composite.
See also
getCurveAt

Reimplemented in luciad::ArcBand, and luciad::PolylineRing.

◆ getHash()

size_t luciad::CompositeRing::getHash ( ) const
overrideprotectedvirtual

Returns the hash value for this geometry.

Returns
the hash value for this geometry.

Implements luciad::Geometry.

Reimplemented in luciad::PolylineRing.

◆ getLength2D()

double luciad::CompositeRing::getLength2D ( ) const
overridevirtual

Returns the length of the curve.

Returns
the length of the curve.
Exceptions
luciad::InvalidArgumentExceptionif the length could not be computed. For example, when the curve is defined by invalid points.

Implements luciad::Curve.

Reimplemented in luciad::PolylineRing.

◆ getReference()

std::shared_ptr< CoordinateReference > luciad::CompositeRing::getReference ( ) const
overridevirtual

Returns the coordinate reference of the geometry.

Returns
the coordinate reference of the geometry.

Implements luciad::Geometry.

Reimplemented in luciad::PolylineRing.