1#ifndef GIS_BG_TRAITS_INCLUDED
2#define GIS_BG_TRAITS_INCLUDED
30#include <boost/concept/requires.hpp>
31#include <boost/geometry/core/access.hpp>
32#include <boost/geometry/core/closure.hpp>
33#include <boost/geometry/core/coordinate_dimension.hpp>
34#include <boost/geometry/core/coordinate_system.hpp>
35#include <boost/geometry/core/coordinate_type.hpp>
36#include <boost/geometry/core/cs.hpp>
37#include <boost/geometry/core/exterior_ring.hpp>
38#include <boost/geometry/core/interior_rings.hpp>
39#include <boost/geometry/core/interior_type.hpp>
40#include <boost/geometry/core/point_order.hpp>
41#include <boost/geometry/core/ring_type.hpp>
42#include <boost/geometry/core/tags.hpp>
43#include <boost/geometry/geometries/concepts/linestring_concept.hpp>
44#include <boost/geometry/geometries/concepts/point_concept.hpp>
45#include <boost/geometry/geometries/concepts/polygon_concept.hpp>
46#include <boost/geometry/multi/core/tags.hpp>
47#include <boost/geometry/util/math.hpp>
48#include <boost/static_assert.hpp>
58 typedef boost::geometry::point_tag
type;
68 typedef boost::geometry::cs::cartesian
type;
72struct dimension<
Gis_point> : boost::mpl::int_<GEOM_DIM> {};
74template <std::
size_t Dimension>
79 p.set<Dimension>(value);
86 typedef boost::geometry::linestring_tag
type;
93 typedef boost::geometry::polygon_tag
type;
146 static const order_selector value = counterclockwise;
151 static const closure_selector value = closed;
156 typedef boost::geometry::ring_tag
type;
164 typedef boost::geometry::multi_linestring_tag
type;
171 typedef boost::geometry::multi_point_tag
type;
177 typedef boost::geometry::multi_polygon_tag
type;
Definition: spatial.h:2099
Definition: spatial.h:2333
Definition: spatial.h:2290
Definition: spatial.h:2373
Definition: spatial.h:1152
Definition: spatial.h:2152
Definition: spatial.h:2187
Gis_wkb_vector class template definition.
Definition: spatial.h:1902
const char * p
Definition: ctype-mb.cc:1235
Tag dispatch for custom Role_properties.
Definition: sql_auth_cache.h:588
static void set(Gis_point &p, double const &value)
Definition: gis_bg_traits.h:78
static double get(Gis_point const &p)
Definition: gis_bg_traits.h:76
boost::geometry::cs::cartesian type
Definition: gis_bg_traits.h:68
double type
Definition: gis_bg_traits.h:63
static polygon_type::ring_type & get(polygon_type &p)
Definition: gis_bg_traits.h:120
static polygon_type::ring_type const & get(polygon_type const &p)
Definition: gis_bg_traits.h:124
Gis_polygon polygon_type
Definition: gis_bg_traits.h:118
Gis_polygon::inner_container_type const & type
Definition: gis_bg_traits.h:108
Gis_polygon::inner_container_type & type
Definition: gis_bg_traits.h:113
static polygon_type::inner_container_type const & get(polygon_type const &p)
Definition: gis_bg_traits.h:137
static polygon_type::inner_container_type & get(polygon_type &p)
Definition: gis_bg_traits.h:133
Gis_polygon polygon_type
Definition: gis_bg_traits.h:131
Gis_polygon::ring_type const & type
Definition: gis_bg_traits.h:98
Gis_polygon::ring_type & type
Definition: gis_bg_traits.h:103
boost::geometry::linestring_tag type
Definition: gis_bg_traits.h:86
boost::geometry::multi_linestring_tag type
Definition: gis_bg_traits.h:164
boost::geometry::multi_point_tag type
Definition: gis_bg_traits.h:171
boost::geometry::multi_polygon_tag type
Definition: gis_bg_traits.h:177
boost::geometry::point_tag type
Definition: gis_bg_traits.h:58
boost::geometry::polygon_tag type
Definition: gis_bg_traits.h:93
boost::geometry::ring_tag type
Definition: gis_bg_traits.h:156