MySQL  8.0.25
Source Code Documentation
gis::Length Class Reference

Length functor that calls Boost.Geometry with the correct parameter types. More...

#include <length_functor.h>

Inheritance diagram for gis::Length:
gis::Unary_functor< double >

Public Member Functions

 Length (double major, double minor)
 
double operator() (const Geometry &g1) const override
 
double eval (const Geometry &g1) const
 
double eval (const Geographic_linestring &g1) const
 
double eval (const Cartesian_linestring &g1) const
 
double eval (const Geographic_multilinestring &g1) const
 
double eval (const Cartesian_multilinestring &g1) const
 
- Public Member Functions inherited from gis::Unary_functor< double >
virtual ~Unary_functor ()
 

Private Attributes

std::unique_ptr< boost::geometry::strategy::distance::andoyer< boost::geometry::srs::spheroid< double > > > m_geographic_strategy
 

Additional Inherited Members

- Static Protected Member Functions inherited from gis::Unary_functor< double >
static double apply (F &f, const Geometry &g)
 

Detailed Description

Length functor that calls Boost.Geometry with the correct parameter types.

The functor throws exceptions and is therefore only intended used to implement length or other geographic functions. It should not be used directly by other MySQL code.

Constructor & Destructor Documentation

◆ Length()

gis::Length::Length ( double  major,
double  minor 
)

Member Function Documentation

◆ eval() [1/5]

double gis::Length::eval ( const Cartesian_linestring g1) const

◆ eval() [2/5]

double gis::Length::eval ( const Cartesian_multilinestring g1) const

◆ eval() [3/5]

double gis::Length::eval ( const Geographic_linestring g1) const

◆ eval() [4/5]

double gis::Length::eval ( const Geographic_multilinestring g1) const

◆ eval() [5/5]

double gis::Length::eval ( const Geometry g1) const

◆ operator()()

double gis::Length::operator() ( const Geometry g1) const
overridevirtual

Member Data Documentation

◆ m_geographic_strategy

std::unique_ptr<boost::geometry::strategy::distance::andoyer< boost::geometry::srs::spheroid<double> > > gis::Length::m_geographic_strategy
private

The documentation for this class was generated from the following files: