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/util/math.hpp>
47#include <boost/static_assert.hpp>
57 typedef boost::geometry::point_tag
type;
67 typedef boost::geometry::cs::cartesian
type;
71struct dimension<
Gis_point> : boost::mpl::int_<GEOM_DIM> {};
73template <std::
size_t Dimension>
78 p.set<Dimension>(value);
85 typedef boost::geometry::linestring_tag
type;
92 typedef boost::geometry::polygon_tag
type;
145 static const order_selector value = counterclockwise;
150 static const closure_selector value = closed;
155 typedef boost::geometry::ring_tag
type;
163 typedef boost::geometry::multi_linestring_tag
type;
170 typedef boost::geometry::multi_point_tag
type;
176 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:1225
Tag dispatch for custom Role_properties.
Definition: sql_auth_cache.h:591
static void set(Gis_point &p, double const &value)
Definition: gis_bg_traits.h:77
static double get(Gis_point const &p)
Definition: gis_bg_traits.h:75
boost::geometry::cs::cartesian type
Definition: gis_bg_traits.h:67
double type
Definition: gis_bg_traits.h:62
static polygon_type::ring_type & get(polygon_type &p)
Definition: gis_bg_traits.h:119
static polygon_type::ring_type const & get(polygon_type const &p)
Definition: gis_bg_traits.h:123
Gis_polygon polygon_type
Definition: gis_bg_traits.h:117
Gis_polygon::inner_container_type const & type
Definition: gis_bg_traits.h:107
Gis_polygon::inner_container_type & type
Definition: gis_bg_traits.h:112
static polygon_type::inner_container_type const & get(polygon_type const &p)
Definition: gis_bg_traits.h:136
static polygon_type::inner_container_type & get(polygon_type &p)
Definition: gis_bg_traits.h:132
Gis_polygon polygon_type
Definition: gis_bg_traits.h:130
Gis_polygon::ring_type const & type
Definition: gis_bg_traits.h:97
Gis_polygon::ring_type & type
Definition: gis_bg_traits.h:102
boost::geometry::linestring_tag type
Definition: gis_bg_traits.h:85
boost::geometry::multi_linestring_tag type
Definition: gis_bg_traits.h:163
boost::geometry::multi_point_tag type
Definition: gis_bg_traits.h:170
boost::geometry::multi_polygon_tag type
Definition: gis_bg_traits.h:176
boost::geometry::point_tag type
Definition: gis_bg_traits.h:57
boost::geometry::polygon_tag type
Definition: gis_bg_traits.h:92
boost::geometry::ring_tag type
Definition: gis_bg_traits.h:155