MySQL  8.0.22
Source Code Documentation
gis::Crosses Class Reference

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

#include <crosses_functor.h>

Inheritance diagram for gis::Crosses:
gis::Functor< bool >

Public Member Functions

 Crosses (double semi_major, double semi_minor)
 Creates a new Crosses functor. More...
 
double semi_major () const
 
double semi_minor () const
 
bool operator() (const Geometry *g1, const Geometry *g2) const override
 
bool eval (const Geometry *g1, const Geometry *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_point *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_linestring *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_polygon *g1, const Geometry *g2) const
 
bool eval (const Cartesian_geometrycollection *g1, const Geometry *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_multipoint *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_point *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_linestring *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_polygon *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_geometrycollection *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_multipoint *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_multilinestring *g2) const
 
bool eval (const Cartesian_multilinestring *g1, const Cartesian_multipolygon *g2) const
 
bool eval (const Cartesian_multipolygon *g1, const Geometry *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_point *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_linestring *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_polygon *g1, const Geometry *g2) const
 
bool eval (const Geographic_geometrycollection *g1, const Geometry *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_multipoint *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_point *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_linestring *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_polygon *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_geometrycollection *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_multipoint *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_multilinestring *g2) const
 
bool eval (const Geographic_multilinestring *g1, const Geographic_multipolygon *g2) const
 
bool eval (const Geographic_multipolygon *g1, const Geometry *g2) const
 
- Public Member Functions inherited from gis::Functor< bool >
virtual ~Functor ()
 

Private Attributes

double m_semi_major
 Semi-major axis of ellipsoid. More...
 
double m_semi_minor
 Semi-minor axis of ellipsoid. More...
 
boost::geometry::strategy::within::geographic_winding< Geographic_pointm_geographic_pl_pa_strategy
 Strategy used for P/L and P/A. More...
 
boost::geometry::strategy::intersection::geographic_segments m_geographic_ll_la_aa_strategy
 Strategy used for L/L, L/A and A/A. More...
 

Additional Inherited Members

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

Detailed Description

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

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

Constructor & Destructor Documentation

◆ Crosses()

gis::Crosses::Crosses ( double  semi_major,
double  semi_minor 
)

Creates a new Crosses functor.

Parameters
semi_majorSemi-major axis of ellipsoid.
semi_minorSemi-minor axis of ellipsoid.

Member Function Documentation

◆ eval() [1/63]

bool gis::Crosses::eval ( const Geometry g1,
const Geometry g2 
) const

◆ eval() [2/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_point g2 
) const

◆ eval() [3/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_linestring g2 
) const

◆ eval() [4/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_polygon g2 
) const

◆ eval() [5/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [6/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_multipoint g2 
) const

◆ eval() [7/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [8/63]

bool gis::Crosses::eval ( const Cartesian_point g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [9/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_point g2 
) const

◆ eval() [10/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_linestring g2 
) const

◆ eval() [11/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_polygon g2 
) const

◆ eval() [12/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [13/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_multipoint g2 
) const

◆ eval() [14/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [15/63]

bool gis::Crosses::eval ( const Cartesian_linestring g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [16/63]

bool gis::Crosses::eval ( const Cartesian_polygon g1,
const Geometry g2 
) const

◆ eval() [17/63]

bool gis::Crosses::eval ( const Cartesian_geometrycollection g1,
const Geometry g2 
) const

◆ eval() [18/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_point g2 
) const

◆ eval() [19/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_linestring g2 
) const

◆ eval() [20/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_polygon g2 
) const

◆ eval() [21/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [22/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_multipoint g2 
) const

◆ eval() [23/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [24/63]

bool gis::Crosses::eval ( const Cartesian_multipoint g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [25/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_point g2 
) const

◆ eval() [26/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_linestring g2 
) const

◆ eval() [27/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_polygon g2 
) const

◆ eval() [28/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_geometrycollection g2 
) const

◆ eval() [29/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_multipoint g2 
) const

◆ eval() [30/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_multilinestring g2 
) const

◆ eval() [31/63]

bool gis::Crosses::eval ( const Cartesian_multilinestring g1,
const Cartesian_multipolygon g2 
) const

◆ eval() [32/63]

bool gis::Crosses::eval ( const Cartesian_multipolygon g1,
const Geometry g2 
) const

◆ eval() [33/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_point g2 
) const

◆ eval() [34/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_linestring g2 
) const

◆ eval() [35/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_polygon g2 
) const

◆ eval() [36/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [37/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_multipoint g2 
) const

◆ eval() [38/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_multilinestring g2 
) const

◆ eval() [39/63]

bool gis::Crosses::eval ( const Geographic_point g1,
const Geographic_multipolygon g2 
) const

◆ eval() [40/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_point g2 
) const

◆ eval() [41/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_linestring g2 
) const

◆ eval() [42/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_polygon g2 
) const

◆ eval() [43/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [44/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_multipoint g2 
) const

◆ eval() [45/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_multilinestring g2 
) const

◆ eval() [46/63]

bool gis::Crosses::eval ( const Geographic_linestring g1,
const Geographic_multipolygon g2 
) const

◆ eval() [47/63]

bool gis::Crosses::eval ( const Geographic_polygon g1,
const Geometry g2 
) const

◆ eval() [48/63]

bool gis::Crosses::eval ( const Geographic_geometrycollection g1,
const Geometry g2 
) const

◆ eval() [49/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_point g2 
) const

◆ eval() [50/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_linestring g2 
) const

◆ eval() [51/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_polygon g2 
) const

◆ eval() [52/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [53/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_multipoint g2 
) const

◆ eval() [54/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_multilinestring g2 
) const

◆ eval() [55/63]

bool gis::Crosses::eval ( const Geographic_multipoint g1,
const Geographic_multipolygon g2 
) const

◆ eval() [56/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_point g2 
) const

◆ eval() [57/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_linestring g2 
) const

◆ eval() [58/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_polygon g2 
) const

◆ eval() [59/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_geometrycollection g2 
) const

◆ eval() [60/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_multipoint g2 
) const

◆ eval() [61/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_multilinestring g2 
) const

◆ eval() [62/63]

bool gis::Crosses::eval ( const Geographic_multilinestring g1,
const Geographic_multipolygon g2 
) const

◆ eval() [63/63]

bool gis::Crosses::eval ( const Geographic_multipolygon g1,
const Geometry g2 
) const

◆ operator()()

bool gis::Crosses::operator() ( const Geometry g1,
const Geometry g2 
) const
overridevirtual

Implements gis::Functor< bool >.

◆ semi_major()

double gis::Crosses::semi_major ( ) const
inline

◆ semi_minor()

double gis::Crosses::semi_minor ( ) const
inline

Member Data Documentation

◆ m_geographic_ll_la_aa_strategy

boost::geometry::strategy::intersection::geographic_segments gis::Crosses::m_geographic_ll_la_aa_strategy
private

Strategy used for L/L, L/A and A/A.

◆ m_geographic_pl_pa_strategy

boost::geometry::strategy::within::geographic_winding<Geographic_point> gis::Crosses::m_geographic_pl_pa_strategy
private

Strategy used for P/L and P/A.

◆ m_semi_major

double gis::Crosses::m_semi_major
private

Semi-major axis of ellipsoid.

◆ m_semi_minor

double gis::Crosses::m_semi_minor
private

Semi-minor axis of ellipsoid.


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