1#ifndef SQL_GIS_UNION_FUNCTOR_H_INCLUDED 
    2#define SQL_GIS_UNION_FUNCTOR_H_INCLUDED 
   36#include <boost/geometry.hpp> 
   57  boost::geometry::strategy::within::geographic_winding<Geographic_point>
 
   60  boost::geometry::strategy::intersection::geographic_segments<>
 
   77  std::unique_ptr<Cartesian_geometrycollection> 
eval(
 
   79  std::unique_ptr<Cartesian_geometrycollection> 
eval(
 
   81  std::unique_ptr<Cartesian_multipoint> 
eval(
 
   83  std::unique_ptr<Geometrycollection> 
eval(
 
   85  std::unique_ptr<Geometrycollection> 
eval(
 
   94  std::unique_ptr<Cartesian_multilinestring> 
eval(
 
   96  std::unique_ptr<Cartesian_geometrycollection> 
eval(
 
   98  std::unique_ptr<Cartesian_geometrycollection> 
eval(
 
  100  std::unique_ptr<Cartesian_multilinestring> 
eval(
 
  103  std::unique_ptr<Geometrycollection> 
eval(
 
  114  std::unique_ptr<Cartesian_multipolygon> 
eval(
 
  116  std::unique_ptr<Cartesian_geometrycollection> 
eval(
 
  118  std::unique_ptr<Cartesian_geometrycollection> 
eval(
 
  120  std::unique_ptr<Cartesian_multipolygon> 
eval(
 
  145  std::unique_ptr<Cartesian_multipoint> 
eval(
 
  147  std::unique_ptr<Geometrycollection> 
eval(
 
  150  std::unique_ptr<Geometrycollection> 
eval(
 
  165  std::unique_ptr<Cartesian_multilinestring> 
eval(
 
  168  std::unique_ptr<Geometrycollection> 
eval(
 
  186  std::unique_ptr<Cartesian_multipolygon> 
eval(
 
  195  std::unique_ptr<Geometrycollection> 
eval(
 
  199  std::unique_ptr<Geographic_multipoint> 
eval(
 
  201  std::unique_ptr<Geometrycollection> 
eval(
 
  203  std::unique_ptr<Geometrycollection> 
eval(
 
  212  std::unique_ptr<Geographic_multilinestring> 
eval(
 
  214  std::unique_ptr<Geographic_geometrycollection> 
eval(
 
  216  std::unique_ptr<Geographic_geometrycollection> 
eval(
 
  218  std::unique_ptr<Geographic_multilinestring> 
eval(
 
  221  std::unique_ptr<Geometrycollection> 
eval(
 
  232  std::unique_ptr<Geographic_multipolygon> 
eval(
 
  234  std::unique_ptr<Geographic_geometrycollection> 
eval(
 
  236  std::unique_ptr<Geographic_geometrycollection> 
eval(
 
  238  std::unique_ptr<Geographic_multipolygon> 
eval(
 
  262  std::unique_ptr<Geographic_multipoint> 
eval(
 
  264  std::unique_ptr<Geometrycollection> 
eval(
 
  267  std::unique_ptr<Geometrycollection> 
eval(
 
  282  std::unique_ptr<Geographic_multilinestring> 
eval(
 
  285  std::unique_ptr<Geometrycollection> 
eval(
 
  303  std::unique_ptr<Geographic_multipolygon> 
eval(
 
A Cartesian 2d geometry collection.
Definition: geometries_cs.h:375
 
A Cartesian 2d linestring.
Definition: geometries_cs.h:71
 
A Cartesian 2d multilinestring.
Definition: geometries_cs.h:602
 
A Cartesian 2d multipoint.
Definition: geometries_cs.h:501
 
A Cartesian 2d multipolygon.
Definition: geometries_cs.h:720
 
A Cartesian 2d point.
Definition: geometries_cs.h:47
 
A Cartesian 2d polygon.
Definition: geometries_cs.h:269
 
The base class of all functors that takes two geometry arguments.
Definition: functor.h:165
 
A geographic (ellipsoidal) 2d geometry collection.
Definition: geometries_cs.h:438
 
A geographic (ellipsoidal) 2d linestring.
Definition: geometries_cs.h:125
 
A geographic (ellipsoidal) 2d multilinestring.
Definition: geometries_cs.h:661
 
A geographic (ellipsoidal) 2d multipoint.
Definition: geometries_cs.h:552
 
A geographic (ellipsoidal) 2d multipolygon.
Definition: geometries_cs.h:774
 
A geographic (ellipsoidal) 2d point.
Definition: geometries_cs.h:58
 
A geographic (ellipsoidal) 2d polygon.
Definition: geometries_cs.h:322
 
Abstract superclass for all geometric objects.
Definition: geometries.h:100
 
Union functor that calls Boost.Geometry with the correct parameter types.
Definition: union_functor.h:50
 
Union(double semi_major, double semi_minor)
Definition: union_functor.cc:108
 
double m_semi_minor
Semi-minor axis of ellipsoid.
Definition: union_functor.h:55
 
std::unique_ptr< Geometry > eval(const Geometry *g1, const Geometry *g2) const
Definition: union_functor.cc:124
 
double semi_minor() const
Definition: union_functor.h:65
 
boost::geometry::strategy::within::geographic_winding< Geographic_point > m_geographic_pl_pa_strategy
Strategy used for P/L and P/A.
Definition: union_functor.h:58
 
double semi_major() const
Definition: union_functor.h:66
 
double m_semi_major
Semi-major axis of ellipsoid.
Definition: union_functor.h:53
 
std::unique_ptr< Geometry > operator()(const Geometry *g1, const Geometry *g2) const override
Definition: union_functor.cc:116
 
boost::geometry::strategy::intersection::geographic_segments m_geographic_ll_la_aa_strategy
Strategy used for L/L, L/A and A/A.
Definition: union_functor.h:61
 
This file contains the superclasses for GIS functors.
 
This file declares the geometry class hierarchy used by the server as the internal representation of ...
 
This file contains Boost.Geometry type traits declarations for Cartesian and geographic geometries.