MySQL 9.1.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
gis::Frechet_distance Class Reference

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

#include <frechet_distance_functor.h>

Inheritance diagram for gis::Frechet_distance:
[legend]

Public Member Functions

 Frechet_distance (double major, double minor)
 
double operator() (const Geometry *g1, const Geometry *g2) const override
 
double eval (const Geometry *g1, const Geometry *g2) const
 
double eval (const Geographic_linestring *g1, const Geographic_linestring *g2) const
 
double eval (const Cartesian_linestring *g1, const Cartesian_linestring *g2) const
 
- Public Member Functions inherited from gis::Functor< double >
virtual ~Functor ()=default
 

Private Attributes

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

Additional Inherited Members

- Static Protected Member Functions inherited from gis::Functor< double >
static double apply (F &f, const Geometry *g1, const Geometry *g2)
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ Frechet_distance()

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

Member Function Documentation

◆ eval() [1/3]

double gis::Frechet_distance::eval ( const Cartesian_linestring g1,
const Cartesian_linestring g2 
) const

◆ eval() [2/3]

double gis::Frechet_distance::eval ( const Geographic_linestring g1,
const Geographic_linestring g2 
) const

◆ eval() [3/3]

double gis::Frechet_distance::eval ( const Geometry g1,
const Geometry g2 
) const

◆ operator()()

double gis::Frechet_distance::operator() ( const Geometry g1,
const Geometry g2 
) const
overridevirtual

Member Data Documentation

◆ m_geographic_strategy

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

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