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.