MySQL 8.4.0
Source Code Documentation
gis::Distance_sphere Class Reference

Functor that calls Boost.Geometry with the correct parameter types. More...

#include <distance_sphere_functor.h>

Inheritance diagram for gis::Distance_sphere:
[legend]

Public Member Functions

 Distance_sphere (double sphere_radius)
 
double operator() (const Geometry *g1, const Geometry *g2) const override
 
double eval (const Cartesian_point *g1, const Cartesian_point *g2) const
 
double eval (const Cartesian_point *g1, const Cartesian_multipoint *g2) const
 
double eval (const Cartesian_multipoint *g1, const Cartesian_point *g2) const
 
double eval (const Cartesian_multipoint *g1, const Cartesian_multipoint *g2) const
 
double eval (const Geographic_point *g1, const Geographic_point *g2) const
 
double eval (const Geographic_point *g1, const Geographic_multipoint *g2) const
 
double eval (const Geographic_multipoint *g1, const Geographic_point *g2) const
 
double eval (const Geographic_multipoint *g1, const Geographic_multipoint *g2) const
 
double eval (const Geometry *g1, const Geometry *g2) const
 
- Public Member Functions inherited from gis::Functor< double >
virtual ~Functor ()=default
 

Private Attributes

boost::geometry::strategy::distance::haversine< double > m_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

Functor that calls Boost.Geometry with the correct parameter types.

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

Constructor & Destructor Documentation

◆ Distance_sphere()

gis::Distance_sphere::Distance_sphere ( double  sphere_radius)
inline

Member Function Documentation

◆ eval() [1/9]

double gis::Distance_sphere::eval ( const Cartesian_multipoint g1,
const Cartesian_multipoint g2 
) const

◆ eval() [2/9]

double gis::Distance_sphere::eval ( const Cartesian_multipoint g1,
const Cartesian_point g2 
) const

◆ eval() [3/9]

double gis::Distance_sphere::eval ( const Cartesian_point g1,
const Cartesian_multipoint g2 
) const

◆ eval() [4/9]

double gis::Distance_sphere::eval ( const Cartesian_point g1,
const Cartesian_point g2 
) const

◆ eval() [5/9]

double gis::Distance_sphere::eval ( const Geographic_multipoint g1,
const Geographic_multipoint g2 
) const

◆ eval() [6/9]

double gis::Distance_sphere::eval ( const Geographic_multipoint g1,
const Geographic_point g2 
) const

◆ eval() [7/9]

double gis::Distance_sphere::eval ( const Geographic_point g1,
const Geographic_multipoint g2 
) const

◆ eval() [8/9]

double gis::Distance_sphere::eval ( const Geographic_point g1,
const Geographic_point g2 
) const

◆ eval() [9/9]

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

◆ operator()()

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

Member Data Documentation

◆ m_strategy

boost::geometry::strategy::distance::haversine<double> gis::Distance_sphere::m_strategy
private

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