Boost.Geometry    Boost C++ Libraries
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
boost::geometry Namespace Reference

Namespaces

 traits
 
 cs
 
 srs
 
 resolve_variant
 
 resolve_strategy
 
 info
 
 nyi
 
 detail
 
 core_dispatch
 
 dispatch
 
 strategy
 
 de9im
 
 concepts
 
 model
 
 detail_dispatch
 
 fusion_adapt_detail
 
 policies
 
 util
 
 math
 
 range
 

Classes

struct  add_const_if_c
 Meta-function to define a const or non const type. More...
 
struct  areal_tag
 For areal types (polygon, multi_polygon, box, ring) More...
 
struct  box_tag
 Convenience 2D or 3D box (mbr / aabb) identifying tag. More...
 
struct  box_view
 Makes a box behave like a ring or a range. More...
 
struct  cartesian_tag
 Tag indicating Cartesian coordinate system family (cartesian,epsg) More...
 
class  centroid_exception
 Centroid Exception. More...
 
struct  closeable_view
 View on a range, either closing it or leaving it as it is. More...
 
struct  closing_iterator
 Iterator which iterates through a range, but adds first element at end of the range. More...
 
struct  closure
 Metafunction defining [*value] as the closure (clockwise, counterclockwise) of the specified geometry type. More...
 
struct  closure_as_bool
 
struct  closure_as_bool< closed >
 
struct  closure_as_bool< open >
 
struct  collected_vector
 
struct  collected_vector< T, Geometry, geographic_tag >
 
struct  collected_vector< T, Geometry, spherical_equatorial_tag >
 
struct  collected_vector< T, Geometry, spherical_polar_tag >
 
struct  comparable_distance_result
 Meta-function defining return type of comparable_distance function. More...
 
struct  comparable_distance_result< Geometry1, Geometry2, void >
 
struct  compress_variant
 Meta-function that takes a boost::variant type and tries to minimize it by doing the following: More...
 
class  concatenate_iterator
 
struct  coordinate_system
 Metafunction defining [*type] as the coordinate system (cartesian, spherical, etc) of the point type making up the specified geometry type. More...
 
struct  coordinate_type
 Metafunction defining [*type] as the coordinate type (int, float, double, etc) of the point type making up the specified geometry type. More...
 
struct  cs_tag
 Meta-function returning coordinate system tag (cs family) of any geometry. More...
 
struct  default_area_result
 Meta-function defining return type of area function, using the default strategy. More...
 
struct  default_comparable_distance_result
 Meta-function defining return type of comparable_distance function. More...
 
struct  default_distance_result
 Meta-function defining return type of distance function. More...
 
struct  default_length_result
 Meta-function defining return type of length function. More...
 
struct  default_strategy
 
struct  degree
 Unit of plane angle: Degrees. More...
 
struct  dimension
 Metafunction defining [*value] as the number of coordinates (the number of axes of any geometry) of the point type making up the specified geometry type. More...
 
struct  distance_result
 Meta-function defining return type of distance function. More...
 
struct  distance_result< Geometry1, Geometry2, void >
 
class  empty_input_exception
 Empty Input Exception. More...
 
struct  equal_to
 Equal To functor, to compare if points are equal. More...
 
struct  ever_circling_iterator
 Iterator which ever circles through a range. More...
 
struct  ever_circling_range_iterator
 
class  exception
 Base exception class for Boost.Geometry algorithms. More...
 
class  flatten_iterator
 
struct  fp_coordinate_type
 
struct  fraction_type
 
struct  geographic_tag
 Tag indicating Geographic coordinate system family (geographic) More...
 
struct  geometry_collection_tag
 OGC Geometry Collection identifying tag. More...
 
struct  geometry_id
 Meta-function returning the id of a geometry type. More...
 
struct  geometry_not_recognized_tag
 "default" tag More...
 
struct  greater
 Greater functor. More...
 
struct  helper_geometry
 
struct  identity_view
 View on a range, not modifying anything. More...
 
class  inconsistent_turns_exception
 
struct  interior_return_type
 
struct  interior_type
 Metafunction defining [*type] as the interior_type (container type of inner rings) of the specified geometry type. More...
 
struct  intersection_strategies
 "compound strategy", containing a segment-intersection-strategy and a side-strategy More...
 
class  invalid_input_exception
 Invalid Input Exception. More...
 
struct  is_areal
 Meta-function defining "true" for areal types (box, (multi)polygon, ring),. More...
 
struct  is_radian
 Meta-function to verify if a coordinate system is radian. More...
 
struct  less
 Less functor, to sort points in ascending order. More...
 
struct  linear_tag
 For linear types (linestring, multi-linestring, segment) More...
 
struct  linestring_tag
 OGC Linestring identifying tag. More...
 
struct  multi_linestring_tag
 OGC Multi linestring identifying tag. More...
 
struct  multi_point_tag
 OGC Multi point identifying tag. More...
 
struct  multi_polygon_tag
 OGC Multi polygon identifying tag. More...
 
struct  multi_tag
 For multiple-geometries (multi_point, multi_linestring, multi_polygon) More...
 
struct  not_implemented
 
struct  order_as_direction
 
struct  order_as_direction< clockwise >
 
struct  order_as_direction< counterclockwise >
 
class  overlay_invalid_input_exception
 Overlay Invalid Input Exception. More...
 
struct  parameter_type_of
 Meta-function selecting a parameter type of a (member) function, by index. More...
 
class  partition
 
class  point_iterator
 
struct  point_order
 Metafunction defining [*value] as the point order (clockwise, counterclockwise) of the specified geometry type. More...
 
class  point_reverse_iterator
 
struct  point_tag
 OGC Point identifying tag. More...
 
struct  point_type
 Metafunction defining [*type] as the point_type of the specified geometry type. More...
 
struct  point_type< boost::variant< BOOST_VARIANT_ENUM_PARAMS(T)> >
 
struct  pointlike_tag
 For point-like types (point, multi_point) More...
 
struct  polygon_tag
 OGC Polygon identifying tag. More...
 
struct  polygonal_tag
 
struct  promote_floating_point
 Meta-function converting, if necessary, to "a floating point" type. More...
 
class  promote_integral
 Meta-function to define an integral type with size than is (roughly) twice the bit size of T. More...
 
class  promote_integral< T, PromoteUnsignedToUnsigned, UseCheckedInteger, false >
 
struct  radian
 Unit of plane angle: Radians. More...
 
struct  radius_type
 Metafunction to get the type of radius of a circle / sphere / ellipse / etc. More...
 
struct  read_wkt_exception
 Exception showing things wrong with WKT parsing. More...
 
struct  reverse_dispatch
 
struct  reversible_view
 View on a range, reversing direction if necessary. More...
 
struct  ring_identifier
 
struct  ring_return_type
 
struct  ring_tag
 Convenience (linear) ring identifying tag. More...
 
struct  ring_type
 Metafunction defining [*type] as the ring_type of the specified geometry type. More...
 
struct  section
 Structure containing section information. More...
 
struct  sections
 Structure containing a collection of sections. More...
 
struct  segment_identifier
 
struct  segment_intersection_points
 return-type for segment-intersection More...
 
class  segment_iterator
 
struct  segment_tag
 Convenience segment (2-points) identifying tag. More...
 
struct  segment_view
 Makes a segment behave like a linestring or a range. More...
 
struct  select_calculation_type
 Meta-function selecting the "calculation" type. More...
 
struct  select_calculation_type_alt
 
struct  select_coordinate_type
 Meta-function selecting the most precise coordinate type of two geometries. More...
 
struct  select_coordinate_type< T1, T2, void >
 
struct  select_coordinate_type< T1, void, void >
 
struct  select_most_precise
 Meta-function to select, of two types, the most accurate type for calculations. More...
 
struct  select_most_precise< boost::rational< T >, double >
 
struct  select_most_precise< boost::rational< T1 >, boost::rational< T2 > >
 
struct  select_most_precise< T1, T2, void >
 
struct  select_most_precise< T1, void, void >
 
class  side_info
 Class side_info: small class wrapping for sides (-1,0,1) More...
 
struct  single_tag
 For single-geometries (point, linestring, polygon, box, ring, segment) More...
 
struct  single_tag_of
 Meta-function to get for a tag of a multi-geometry the tag of the corresponding single-geometry. More...
 
struct  single_tag_of< detail::buffer::buffered_ring_collection_tag >
 
struct  spherical_equatorial_tag
 Tag indicating Spherical equatorial coordinate system family. More...
 
struct  spherical_polar_tag
 Tag indicating Spherical polar coordinate system family. More...
 
struct  spherical_tag
 Tag used for casting spherical/geographic coordinate systems. More...
 
struct  srs_sphere_tag
 For reference sphere defining parameters of spherical coordinate system. More...
 
struct  srs_spheroid_tag
 For reference spheroid defining parameters of geographical coordinate system. More...
 
struct  strategy_compare
 Traits class binding a comparing strategy to a coordinate system. More...
 
struct  strategy_convex_hull
 Traits class binding a convex hull calculation strategy to a coordinate system. More...
 
struct  strategy_tag_distance_box_box
 
struct  strategy_tag_distance_point_box
 
struct  strategy_tag_distance_point_point
 
struct  strategy_tag_distance_point_segment
 
class  svg_manipulator
 Generic geometry template manipulator class, takes corresponding output class from traits class. More...
 
class  svg_mapper
 Helper class to create SVG maps. More...
 
struct  tag
 Metafunction defining [*type] as the tag of the specified geometry type. More...
 
struct  tag_cast
 Metafunction defining a type being either the specified tag, or one of the specified basetags if the type inherits from them. More...
 
struct  topological_dimension
 Meta-function returning the topological dimension of a geometry. More...
 
struct  transform_variant
 Meta-function that takes a Sequence type, an MPL lambda expression and an optional Inserter and returns a variant type over the same types as the initial variant type, each transformed using the lambda expression. More...
 
struct  transform_variant< variant< BOOST_VARIANT_ENUM_PARAMS(T)>, Op, boost::mpl::na >
 Meta-function that takes a boost::variant type and an MPL lambda expression and returns a variant type over the same types as the initial variant type, each transformed using the lambda expression. More...
 
class  turn_info_exception
 
struct  volumetric_tag
 For volume types (also box (?), polyhedron) More...
 
class  wkt_manipulator
 Generic geometry template manipulator class, takes corresponding output class from traits class. More...
 

Typedefs

typedef boost::make_signed
< std::size_t >::type 
signed_size_type
 

Enumerations

enum  closure_selector { open = 0, closed = 1, closure_undertermined = -1 }
 Enumerates options for defining if polygons are open or closed. More...
 
enum  iterate_direction { iterate_forward, iterate_reverse }
 Flag for iterating a reversible_view in forward or reverse direction. More...
 
enum  order_selector { clockwise = 1, counterclockwise = 2, order_undetermined = 0 }
 Enumerates options for the order of points within polygons. More...
 
enum  overlay_type {
  overlay_union, overlay_intersection, overlay_difference, overlay_buffer,
  overlay_dissolve
}
 
enum  validity_failure_type {
  no_failure = 0, failure_few_points = 10, failure_wrong_topological_dimension = 11, failure_spikes = 12,
  failure_duplicate_points = 13, failure_not_closed = 20, failure_self_intersections = 21, failure_wrong_orientation = 22,
  failure_interior_rings_outside = 30, failure_nested_interior_rings = 31, failure_disconnected_interior = 32, failure_intersecting_interiors = 40,
  failure_wrong_corner_order = 50, failure_invalid_coordinate = 60
}
 Enumerates the possible validity failure types for a geometry. More...
 

Functions

template<typename Point1 , typename Point2 >
void add_point (Point1 &p1, Point2 const &p2)
 Adds a point to another. More...
 
template<typename Point >
void add_value (Point &p, typename detail::param< Point >::type value)
 Adds the same value to each coordinate of a point. More...
 
template<typename Geometry , typename RangeOrPoint >
void append (Geometry &geometry, RangeOrPoint const &range_or_point, int ring_index=-1, int multi_index=0)
 Appends one or more points to a linestring, ring, polygon, multi-geometry. More...
 
template<typename Geometry >
default_area_result< Geometry >
::type 
area (Geometry const &geometry)
 Calculates the area of a geometry. More...
 
template<typename Geometry , typename Strategy >
Strategy::return_type area (Geometry const &geometry, Strategy const &strategy)
 Calculates the area of a geometry using the specified strategy. More...
 
template<typename Geometry , int Dimensions>
void assert_dimension ()
 assert_dimension, enables compile-time checking if coordinate dimensions are as expected More...
 
template<typename G1 , typename G2 >
void assert_dimension_equal ()
 assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal More...
 
template<typename Geometry , int Dimensions>
void assert_dimension_greater_equal ()
 
template<typename Geometry , int Dimensions>
void assert_dimension_less_equal ()
 assert_dimension, enables compile-time checking if coordinate dimensions are as expected More...
 
template<typename Geometry1 , typename Geometry2 >
void assign (Geometry1 &geometry1, Geometry2 const &geometry2)
 Assigns one geometry to another geometry. More...
 
template<typename Geometry >
void assign_inverse (Geometry &geometry)
 assign to a box inverse infinite More...
 
template<typename Point1 , typename Point2 >
void assign_point (Point1 &p1, Point2 const &p2)
 Assign a point with another. More...
 
template<typename Geometry , typename Range >
void assign_points (Geometry &geometry, Range const &range)
 Assign a range of points to a linestring, ring or polygon. More...
 
template<typename Point >
void assign_value (Point &p, typename detail::param< Point >::type value)
 Assign each coordinate of a point the same value. More...
 
template<typename Geometry , typename Type >
void assign_values (Geometry &geometry, Type const &c1, Type const &c2)
 Assign two coordinates to a geometry (usually a 2D point) More...
 
template<typename Geometry , typename Type >
void assign_values (Geometry &geometry, Type const &c1, Type const &c2, Type const &c3)
 Assign three values to a geometry (usually a 3D point) More...
 
template<typename Geometry , typename Type >
void assign_values (Geometry &geometry, Type const &c1, Type const &c2, Type const &c3, Type const &c4)
 Assign four values to a geometry (usually a box or segment) More...
 
template<typename Geometry >
void assign_zero (Geometry &geometry)
 assign zero values to a box, point More...
 
template<typename Input , typename Output , typename Distance >
void buffer (Input const &geometry_in, Output &geometry_out, Distance const &distance, Distance const &chord_length=-1)
 Calculates the buffer of a geometry. More...
 
template<typename GeometryIn , typename MultiPolygon , typename DistanceStrategy , typename SideStrategy , typename JoinStrategy , typename EndStrategy , typename PointStrategy >
void buffer (GeometryIn const &geometry_in, MultiPolygon &geometry_out, DistanceStrategy const &distance_strategy, SideStrategy const &side_strategy, JoinStrategy const &join_strategy, EndStrategy const &end_strategy, PointStrategy const &point_strategy)
 Calculates the buffer of a geometry. More...
 
template<typename Geometry , typename Point , typename Strategy >
void centroid (Geometry const &geometry, Point &c, Strategy const &strategy)
 Calculates the centroid of a geometry using the specified strategy. More...
 
template<typename Geometry , typename Point >
void centroid (Geometry const &geometry, Point &c)
 Calculates the centroid of a geometry. More...
 
template<typename Geometry >
void clear (Geometry &geometry)
 Clears a linestring, ring or polygon (exterior+interiors) or multi*. More...
 
template<typename Collection , typename Geometry >
void collect_vectors (Collection &collection, Geometry const &geometry)
 
template<typename Geometry1 , typename Geometry2 , typename Strategy >
comparable_distance_result
< Geometry1, Geometry2,
Strategy >::type 
comparable_distance (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 Calculate the comparable distance measurement of two geometries using the specified strategy. More...
 
template<typename Geometry1 , typename Geometry2 >
default_comparable_distance_result
< Geometry1, Geometry2 >::type 
comparable_distance (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Calculate the comparable distance measurement of two geometries. More...
 
template<typename Geometry1 , typename Geometry2 >
void convert (Geometry1 const &geometry1, Geometry2 &geometry2)
 Converts one geometry to another geometry. More...
 
template<typename Geometry , typename OutputGeometry , typename Strategy >
void convex_hull (Geometry const &geometry, OutputGeometry &out, Strategy const &strategy)
 
template<typename Geometry , typename OutputGeometry >
void convex_hull (Geometry const &geometry, OutputGeometry &hull)
 Calculates the convex hull of a geometry. More...
 
template<bool Reverse, typename Geometry , typename SegmentIdentifier , typename PointOut >
bool copy_segment_point (Geometry const &geometry, SegmentIdentifier const &seg_id, int offset, PointOut &point_out)
 Helper function, copies a point from a segment. More...
 
template<bool Reverse1, bool Reverse2, typename Geometry1 , typename Geometry2 , typename SegmentIdentifier , typename PointOut >
bool copy_segment_point (Geometry1 const &geometry1, Geometry2 const &geometry2, SegmentIdentifier const &seg_id, int offset, PointOut &point_out)
 Helper function, to avoid the same construct several times, copies a point, based on a source-index and two geometries. More...
 
template<bool Reverse1, bool Reverse2, typename Geometry1 , typename Geometry2 , typename SegmentIdentifier , typename PointOut >
bool copy_segment_points (Geometry1 const &geometry1, Geometry2 const &geometry2, SegmentIdentifier const &seg_id, PointOut &point1, PointOut &point2)
 Helper function, to avoid the same construct several times, copies a point, based on a source-index and two geometries. More...
 
template<bool Reverse1, bool Reverse2, typename Geometry1 , typename Geometry2 , typename SegmentIdentifier , typename PointOut >
bool copy_segment_points (Geometry1 const &geometry1, Geometry2 const &geometry2, SegmentIdentifier const &seg_id, PointOut &point1, PointOut &point2, PointOut &point3)
 Helper function, copies three points: two from the specified segment (from, to) and the next one. More...
 
template<bool Reverse, typename Geometry , typename SegmentIdentifier , typename RobustPolicy , typename RangeOut >
void copy_segments (Geometry const &geometry, SegmentIdentifier const &seg_id, signed_size_type to_index, RobustPolicy const &robust_policy, RangeOut &range_out)
 Copy segments from a geometry, starting with the specified segment (seg_id) until the specified index (to_index) More...
 
template<typename Geometry >
void correct (Geometry &geometry)
 Corrects a geometry. More...
 
template<typename Geometry1 , typename Geometry2 >
bool covered_by (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if the first geometry is inside or on border the second geometry. More...
 
template<typename Geometry1 , typename Geometry2 , typename Strategy >
bool covered_by (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 Checks if the first geometry is inside or on border the second geometry using the specified strategy. More...
 
template<typename ResultP , typename P1 , typename P2 >
ResultP cross_product (P1 const &p1, P2 const &p2)
 Computes the cross product of two vectors. More...
 
template<typename P >
cross_product (P const &p1, P const &p2)
 Computes the cross product of two vectors. More...
 
template<typename Geometry1 , typename Geometry2 >
bool crosses (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if two geometries crosses. More...
 
template<typename Geometry1 , typename Geometry2 , typename Collection >
void difference (Geometry1 const &geometry1, Geometry2 const &geometry2, Collection &output_collection)
 
template<typename Geometry1 , typename Geometry2 >
bool disjoint (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if two geometries are disjoint. More...
 
template<typename Geometry1 , typename Geometry2 , typename Strategy >
distance_result< Geometry1,
Geometry2, Strategy >::type 
distance (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 Calculate the distance of two geometries using the specified strategy. More...
 
template<typename Geometry1 , typename Geometry2 >
default_distance_result
< Geometry1, Geometry2 >::type 
distance (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Calculate the distance of two geometries. More...
 
template<typename Point1 , typename Point2 >
void divide_point (Point1 &p1, Point2 const &p2)
 Divides a point by another. More...
 
template<typename Point >
void divide_value (Point &p, typename detail::param< Point >::type value)
 Divides each coordinate of the same point by a value. More...
 
template<typename Point1 , typename Point2 >
select_coordinate_type< Point1,
Point2 >::type 
dot_product (Point1 const &p1, Point2 const &p2)
 Computes the dot product (or scalar product) of 2 vectors (points). More...
 
template<bool Reverse1, bool Reverse2, overlay_type OverlayType, typename Turns , typename Clusters , typename Geometry1 , typename Geometry2 , typename RobustPolicy , typename Strategy >
void enrich_intersection_points (Turns &turns, Clusters &clusters, Geometry1 const &geometry1, Geometry2 const &geometry2, RobustPolicy const &robust_policy, Strategy const &strategy)
 All intersection points are enriched with successor information. More...
 
template<typename Geometry , typename Box >
void envelope (Geometry const &geometry, Box &mbr)
 Calculates the envelope of a geometry. More...
 
template<typename Geometry1 , typename Geometry2 >
bool equals (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if a geometry are spatially equal. More...
 
template<typename Box , typename Geometry >
void expand (Box &box, Geometry const &geometry)
 Expands a box using the bounding box (envelope) of another geometry (box, point) More...
 
template<typename Polygon >
ring_return_type< Polygon >::type exterior_ring (Polygon &polygon)
 Function to get the exterior_ring ring of a polygon. More...
 
template<typename Polygon >
ring_return_type< Polygon
const >::type 
exterior_ring (Polygon const &polygon)
 Function to get the exterior ring of a polygon (const version) More...
 
template<std::size_t Edge, typename Geometry , typename Extremes , typename Intruders >
bool extreme_points (Geometry const &geometry, Extremes &extremes, Intruders &intruders)
 Returns extreme points (for Edge=1 in dimension 1, so the top, for Edge=0 in dimension 0, the right side) More...
 
template<typename Point , typename Op >
void for_each_coordinate (Point &point, Op operation)
 
template<typename Point , typename Op >
Op for_each_coordinate (Point const &point, Op operation)
 
template<typename Geometry , typename Functor >
Functor for_each_point (Geometry &geometry, Functor f)
 Applies function [*f] to each point. More...
 
template<typename Geometry , typename Functor >
Functor for_each_segment (Geometry &geometry, Functor f)
 Applies function [*f] to each segment. More...
 
template<std::size_t Dimension, typename Geometry >
coordinate_type< Geometry >::type get (Geometry const &geometry)
 Get coordinate value of a geometry (usually a point) More...
 
template<std::size_t Index, std::size_t Dimension, typename Geometry >
coordinate_type< Geometry >::type get (Geometry const &geometry)
 get coordinate value of a Box or Segment More...
 
template<std::size_t Dimension, typename Geometry >
fp_coordinate_type< Geometry >
::type 
get_as_radian (Geometry const &geometry)
 get coordinate value of a point, result is in Radian More...
 
template<typename Geometry1 , typename Geometry2 , typename RobustPolicy , typename Turns >
void get_intersection_points (Geometry1 const &geometry1, Geometry2 const &geometry2, RobustPolicy const &robust_policy, Turns &turns)
 
template<std::size_t I, typename Geometry >
radius_type< Geometry >::type get_radius (Geometry const &geometry)
 Function to get radius of a circle / sphere / ellipse / etc. More...
 
template<bool Reverse1, bool Reverse2, typename AssignPolicy , typename Geometry1 , typename Geometry2 , typename RobustPolicy , typename Turns , typename InterruptPolicy >
void get_turns (Geometry1 const &geometry1, Geometry2 const &geometry2, RobustPolicy const &robust_policy, Turns &turns, InterruptPolicy &interrupt_policy)
 Calculate the turn points of two geometries. More...
 
template<typename Point >
bool has_infinite_coordinate (Point const &point)
 
template<typename Point >
bool has_nan_coordinate (Point const &point)
 
template<typename Point >
bool has_non_finite_coordinate (Point const &point)
 
template<typename Iterator >
bool has_one_element (Iterator first, Iterator beyond)
 
template<typename Polygon >
interior_return_type< Polygon >
::type 
interior_rings (Polygon &polygon)
 Function to get the interior rings of a polygon (non const version) More...
 
template<typename Polygon >
interior_return_type< Polygon
const >::type 
interior_rings (Polygon const &polygon)
 Function to get the interior rings of a polygon (const version) More...
 
template<typename Geometry1 , typename Geometry2 , typename GeometryOut >
bool intersection (Geometry1 const &geometry1, Geometry2 const &geometry2, GeometryOut &geometry_out)
 Calculate the intersection of two geometries. More...
 
template<typename Geometry >
bool intersects (Geometry const &geometry)
 Checks if a geometry has at least one intersection (crossing or self-tangency) More...
 
template<typename Geometry1 , typename Geometry2 >
bool intersects (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if two geometries have at least one intersection. More...
 
template<typename Geometry >
bool is_convex (Geometry const &geometry)
 
template<typename Geometry >
bool is_empty (Geometry const &geometry)
 Checks if a geometry is the empty set. More...
 
template<typename Geometry >
bool is_simple (Geometry const &geometry)
 Checks if a geometry is simple. More...
 
template<typename Geometry , typename VisitPolicy >
bool is_valid (Geometry const &geometry, VisitPolicy &visitor)
 
template<typename Geometry >
bool is_valid (Geometry const &geometry)
 Checks if a geometry is valid (in the OGC sense) More...
 
template<typename Geometry >
bool is_valid (Geometry const &geometry, validity_failure_type &failure)
 Checks if a geometry is valid (in the OGC sense) More...
 
template<typename Geometry >
bool is_valid (Geometry const &geometry, std::string &message)
 Checks if a geometry is valid (in the OGC sense) More...
 
template<typename Geometry >
default_length_result
< Geometry >::type 
length (Geometry const &geometry)
 Calculates the length of a geometry. More...
 
template<typename Geometry , typename Strategy >
default_length_result
< Geometry >::type 
length (Geometry const &geometry, Strategy const &strategy)
 Calculates the length of a geometry using the specified strategy. More...
 
template<typename Geometry , typename Type >
Geometry make (Type const &c1, Type const &c2)
 Construct a geometry. More...
 
template<typename Geometry , typename Type >
Geometry make (Type const &c1, Type const &c2, Type const &c3)
 Construct a geometry. More...
 
template<typename Geometry , typename Type >
Geometry make (Type const &c1, Type const &c2, Type const &c3, Type const &c4)
 
template<typename Geometry >
Geometry make_inverse ()
 Construct a box with inverse infinite coordinates. More...
 
template<typename Geometry >
Geometry make_zero ()
 Construct a geometry with its coordinates initialized to zero. More...
 
template<typename RangeOfIntervals , typename T >
boost::range_value
< RangeOfIntervals >
::type::difference_type 
maximum_gap (RangeOfIntervals const &range_of_intervals, T &max_gap_left, T &max_gap_right)
 
template<typename RangeOfIntervals >
boost::range_value
< RangeOfIntervals >
::type::difference_type 
maximum_gap (RangeOfIntervals const &range_of_intervals)
 
char method_char (detail::overlay::method_type const &method)
 
template<typename Point1 , typename Point2 >
void multiply_point (Point1 &p1, Point2 const &p2)
 Multiplies a point by another. More...
 
template<typename Point >
void multiply_value (Point &p, typename detail::param< Point >::type value)
 Multiplies each coordinate of a point by the same value. More...
 
template<typename Geometry >
std::size_t num_geometries (Geometry const &geometry)
 Calculates the number of geometries of a geometry. More...
 
template<typename Geometry >
std::size_t num_interior_rings (Geometry const &geometry)
 Calculates the number of interior rings of a geometry. More...
 
template<typename Geometry >
std::size_t num_points (Geometry const &geometry, bool add_for_open=false)
 Calculates the number of points of a geometry. More...
 
template<typename Geometry >
std::size_t num_segments (Geometry const &geometry)
 Calculates the number of segments of a geometry. More...
 
char operation_char (detail::overlay::operation_type const &operation)
 
template<typename Geometry1 , typename Geometry2 >
bool overlaps (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if two geometries overlap. More...
 
template<typename Geometry >
default_length_result
< Geometry >::type 
perimeter (Geometry const &geometry)
 Calculates the perimeter of a geometry. More...
 
template<typename Geometry , typename Strategy >
default_length_result
< Geometry >::type 
perimeter (Geometry const &geometry, Strategy const &strategy)
 Calculates the perimeter of a geometry using the specified strategy. More...
 
template<typename Point , typename Geometry >
bool point_on_border (Point &point, Geometry const &geometry, bool midpoint=false)
 Take point on a border. More...
 
template<typename Geometry , typename Point >
void point_on_surface (Geometry const &geometry, Point &point)
 Assigns a Point guaranteed to lie on the surface of the Geometry. More...
 
template<typename Geometry >
point_iterator< Geometry > points_begin (Geometry &geometry)
 
template<typename Geometry >
point_iterator< Geometry > points_end (Geometry &geometry)
 
template<typename Geometry >
point_reverse_iterator< Geometry > points_rbegin (Geometry &geometry)
 
template<typename Geometry >
point_reverse_iterator< Geometry > points_rend (Geometry &geometry)
 
template<typename Geometry , typename Section >
ring_return_type< Geometry
const >::type 
range_by_section (Geometry const &geometry, Section const &section)
 Get full ring (exterior, one of interiors, one from multi) indicated by the specified section. More...
 
template<typename Geometry >
void read_wkt (std::string const &wkt, Geometry &geometry)
 Parses OGC Well-Known Text (WKT (Well-Known Text)) into a geometry (any geometry) More...
 
template<typename Geometry1 , typename Geometry2 , typename Strategy >
void recalculate (Geometry1 &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 
template<typename Geometry1 , typename Geometry2 , typename Mask >
bool relate (Geometry1 const &geometry1, Geometry2 const &geometry2, Mask const &mask)
 Checks relation between a pair of geometries defined by a mask. More...
 
template<typename Geometry1 , typename Geometry2 >
de9im::matrix relation (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Calculates the relation between a pair of geometries as defined in DE-9IM. More...
 
template<typename Geometry >
void remove_spikes (Geometry &geometry)
 
template<typename Output , typename Input , typename Distance >
Output return_buffer (Input const &geometry, Distance const &distance, Distance const &chord_length=-1)
 Calculates the buffer of a geometry. More...
 
template<typename Point , typename Geometry >
Point return_centroid (Geometry const &geometry)
 Calculates the centroid of a geometry. More...
 
template<typename Point , typename Geometry , typename Strategy >
Point return_centroid (Geometry const &geometry, Strategy const &strategy)
 Calculates the centroid of a geometry using the specified strategy. More...
 
template<typename Box , typename Geometry >
Box return_envelope (Geometry const &geometry)
 Calculates the envelope of a geometry. More...
 
template<typename Geometry >
geometry::point_type< Geometry >
::type 
return_point_on_surface (Geometry const &geometry)
 Returns point guaranteed to lie on the surface of the Geometry. More...
 
template<typename Geometry >
void reverse (Geometry &geometry)
 Reverses the points within a geometry. More...
 
template<bool Reverse, typename DimensionVector , typename Geometry , typename Sections , typename RobustPolicy >
void sectionalize (Geometry const &geometry, RobustPolicy const &robust_policy, Sections &sections, int source_index=0, std::size_t max_count=10)
 Split a geometry into monotonic sections. More...
 
template<typename Geometry >
segment_iterator< Geometry const > segments_begin (Geometry const &geometry)
 
template<typename Geometry >
segment_iterator< Geometry const > segments_end (Geometry const &geometry)
 
template<typename AssignPolicy , typename Geometry , typename RobustPolicy , typename Turns , typename InterruptPolicy >
void self_turns (Geometry const &geometry, RobustPolicy const &robust_policy, Turns &turns, InterruptPolicy &interrupt_policy)
 Calculate self intersections of a geometry. More...
 
template<std::size_t Dimension, typename Geometry >
void set (Geometry &geometry, typename coordinate_type< Geometry >::type const &value)
 Set coordinate value of a geometry (usually a point) More...
 
template<std::size_t Index, std::size_t Dimension, typename Geometry >
void set (Geometry &geometry, typename coordinate_type< Geometry >::type const &value)
 set coordinate value of a Box / Segment More...
 
template<std::size_t Dimension, typename Geometry >
void set_from_radian (Geometry &geometry, typename fp_coordinate_type< Geometry >::type const &radians)
 set coordinate value (in radian) to a point More...
 
template<std::size_t I, typename Geometry >
void set_radius (Geometry &geometry, typename radius_type< Geometry >::type const &radius)
 Function to set the radius of a circle / sphere / ellipse / etc. More...
 
template<typename Geometry , typename Distance , typename Strategy >
void simplify (Geometry const &geometry, Geometry &out, Distance const &max_distance, Strategy const &strategy)
 Simplify a geometry using a specified strategy. More...
 
template<typename Geometry , typename Distance >
void simplify (Geometry const &geometry, Geometry &out, Distance const &max_distance)
 Simplify a geometry. More...
 
template<typename Point1 , typename Point2 >
void subtract_point (Point1 &p1, Point2 const &p2)
 Subtracts a point to another. More...
 
template<typename Point >
void subtract_value (Point &p, typename detail::param< Point >::type value)
 Subtracts the same value to each coordinate of a point. More...
 
template<typename Geometry >
svg_manipulator< Geometry > svg (Geometry const &geometry, std::string const &style, double size=-1.0)
 Manipulator to stream geometries as SVG. More...
 
template<typename SvgPoint , typename Geometry , typename TransformStrategy >
void svg_map (std::ostream &stream, std::string const &style, double size, Geometry const &geometry, TransformStrategy const &strategy)
 
template<typename Range , typename PriorityQueue , typename InitializationVisitor , typename EventVisitor , typename InterruptPolicy >
void sweep (Range const &range, PriorityQueue &queue, InitializationVisitor &initialization_visitor, EventVisitor &event_visitor, InterruptPolicy const &interrupt_policy)
 
template<typename Range , typename PriorityQueue , typename InitializationVisitor , typename EventVisitor >
void sweep (Range const &range, PriorityQueue &queue, InitializationVisitor &initialization_visitor, EventVisitor &event_visitor)
 
template<typename Geometry1 , typename Geometry2 , typename Collection >
void sym_difference (Geometry1 const &geometry1, Geometry2 const &geometry2, Collection &output_collection)
 Calculate the symmetric difference of two geometries. More...
 
template<typename Geometry >
bool touches (Geometry const &geometry)
 Checks if a geometry has at least one touching point (self-tangency) More...
 
template<typename Geometry1 , typename Geometry2 >
bool touches (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if two geometries have at least one touching point (tangent - non overlapping) More...
 
template<typename Geometry1 , typename Geometry2 , typename Strategy >
bool transform (Geometry1 const &geometry1, Geometry2 &geometry2, Strategy const &strategy)
 Transforms from one geometry to another geometry using the specified strategy. More...
 
template<typename Geometry1 , typename Geometry2 >
bool transform (Geometry1 const &geometry1, Geometry2 &geometry2)
 Transforms from one geometry to another geometry using a strategy. More...
 
template<typename Geometry1 , typename Geometry2 , typename Collection >
void union_ (Geometry1 const &geometry1, Geometry2 const &geometry2, Collection &output_collection)
 Combines two geometries which each other. More...
 
template<typename Geometry >
void unique (Geometry &geometry)
 Calculates the minimal set of a geometry. More...
 
char visited_char (detail::overlay::visit_info const &v)
 
template<typename Geometry1 , typename Geometry2 >
bool within (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Checks if the first geometry is completely inside the second geometry. More...
 
template<typename Geometry1 , typename Geometry2 , typename Strategy >
bool within (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 Checks if the first geometry is completely inside the second geometry using the specified strategy. More...
 
template<typename Geometry >
wkt_manipulator< Geometry > wkt (Geometry const &geometry)
 Main WKT-streaming function. More...
 

Variables

int const max_corner = 1
 Index of maximum corner of the box. More...
 
int const min_corner = 0
 Index of minimum corner of the box. More...
 

Typedef Documentation

typedef boost::make_signed<std::size_t>::type boost::geometry::signed_size_type

Enumeration Type Documentation

Enumerator
overlay_union 
overlay_intersection 
overlay_difference 
overlay_buffer 
overlay_dissolve 

Flag for iterating a reversible_view in forward or reverse direction.

Enumerator
iterate_forward 
iterate_reverse 

Function Documentation

template<typename Geometry , int Dimensions>
void boost::geometry::assert_dimension ( )

assert_dimension, enables compile-time checking if coordinate dimensions are as expected

template<typename Geometry , int Dimensions>
void boost::geometry::assert_dimension_less_equal ( )

assert_dimension, enables compile-time checking if coordinate dimensions are as expected

template<typename Geometry , int Dimensions>
void boost::geometry::assert_dimension_greater_equal ( )
template<typename G1 , typename G2 >
void boost::geometry::assert_dimension_equal ( )

assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal

template<typename Geometry , typename OutputGeometry , typename Strategy >
void boost::geometry::convex_hull ( Geometry const &  geometry,
OutputGeometry &  out,
Strategy const &  strategy 
)
template<typename Geometry >
bool boost::geometry::is_convex ( Geometry const &  geometry)
template<typename Geometry , typename Type >
Geometry boost::geometry::make ( Type const &  c1,
Type const &  c2,
Type const &  c3,
Type const &  c4 
)
template<typename Geometry , typename Point >
void boost::geometry::point_on_surface ( Geometry const &  geometry,
Point &  point 
)

Assigns a Point guaranteed to lie on the surface of the Geometry.

Template Parameters
Geometrygeometry type. This also defines the type of the output point
Parameters
geometryGeometry to take point from
pointPoint to assign
template<typename Geometry >
geometry::point_type<Geometry>::type boost::geometry::return_point_on_surface ( Geometry const &  geometry)

Returns point guaranteed to lie on the surface of the Geometry.

Template Parameters
Geometrygeometry type. This also defines the type of the output point
Parameters
geometryGeometry to take point from
Returns
The Point guaranteed to lie on the surface of the Geometry
template<typename Geometry >
void boost::geometry::remove_spikes ( Geometry &  geometry)
Template Parameters
Geometrygeometry type
Parameters
geometrythe geometry to make remove_spikes
template<std::size_t Edge, typename Geometry , typename Extremes , typename Intruders >
bool boost::geometry::extreme_points ( Geometry const &  geometry,
Extremes &  extremes,
Intruders &  intruders 
)

Returns extreme points (for Edge=1 in dimension 1, so the top, for Edge=0 in dimension 0, the right side)

Note
We could specify a strategy (less/greater) to get bottom/left side too. However, until now we don't need that.
template<typename RangeOfIntervals , typename T >
boost::range_value<RangeOfIntervals>::type::difference_type boost::geometry::maximum_gap ( RangeOfIntervals const &  range_of_intervals,
T &  max_gap_left,
T &  max_gap_right 
)
template<typename RangeOfIntervals >
boost::range_value<RangeOfIntervals>::type::difference_type boost::geometry::maximum_gap ( RangeOfIntervals const &  range_of_intervals)
template<typename Point , typename Geometry >
bool boost::geometry::point_on_border ( Point &  point,
Geometry const &  geometry,
bool  midpoint = false 
)

Take point on a border.

Template Parameters
Geometrygeometry type. This also defines the type of the output point
Parameters
pointto assign
geometrygeometry to take point from
midpointboolean flag, true if the point should not be a vertex, but some point in between of two vertices
Returns
TRUE if successful, else false. It is only false if polygon/line have no points
Note
for a polygon, it is always a point on the exterior ring
for take_midpoint, it is not taken from two consecutive duplicate vertices, (unless there are no other).
template<typename Geometry1 , typename Geometry2 , typename Strategy >
void boost::geometry::recalculate ( Geometry1 &  geometry1,
Geometry2 const &  geometry2,
Strategy const &  strategy 
)
template<typename Range , typename PriorityQueue , typename InitializationVisitor , typename EventVisitor , typename InterruptPolicy >
void boost::geometry::sweep ( Range const &  range,
PriorityQueue &  queue,
InitializationVisitor &  initialization_visitor,
EventVisitor &  event_visitor,
InterruptPolicy const &  interrupt_policy 
)
template<typename Range , typename PriorityQueue , typename InitializationVisitor , typename EventVisitor >
void boost::geometry::sweep ( Range const &  range,
PriorityQueue &  queue,
InitializationVisitor &  initialization_visitor,
EventVisitor &  event_visitor 
)
template<typename Collection , typename Geometry >
void boost::geometry::collect_vectors ( Collection &  collection,
Geometry const &  geometry 
)
Template Parameters
CollectionCollection type, should be e.g. std::vector<>
Geometrygeometry type
Parameters
collectionthe collection of vectors
geometrythe geometry to make collect_vectors
template<typename Geometry , typename VisitPolicy >
bool boost::geometry::is_valid ( Geometry const &  geometry,
VisitPolicy &  visitor 
)
template<bool Reverse, typename Geometry , typename SegmentIdentifier , typename PointOut >
bool boost::geometry::copy_segment_point ( Geometry const &  geometry,
SegmentIdentifier const &  seg_id,
int  offset,
PointOut &  point_out 
)

Helper function, copies a point from a segment.

template<bool Reverse1, bool Reverse2, typename Geometry1 , typename Geometry2 , typename SegmentIdentifier , typename PointOut >
bool boost::geometry::copy_segment_point ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
SegmentIdentifier const &  seg_id,
int  offset,
PointOut &  point_out 
)

Helper function, to avoid the same construct several times, copies a point, based on a source-index and two geometries.

template<bool Reverse1, bool Reverse2, typename Geometry1 , typename Geometry2 , typename SegmentIdentifier , typename PointOut >
bool boost::geometry::copy_segment_points ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
SegmentIdentifier const &  seg_id,
PointOut &  point1,
PointOut &  point2 
)

Helper function, to avoid the same construct several times, copies a point, based on a source-index and two geometries.

template<bool Reverse1, bool Reverse2, typename Geometry1 , typename Geometry2 , typename SegmentIdentifier , typename PointOut >
bool boost::geometry::copy_segment_points ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
SegmentIdentifier const &  seg_id,
PointOut &  point1,
PointOut &  point2,
PointOut &  point3 
)

Helper function, copies three points: two from the specified segment (from, to) and the next one.

template<bool Reverse, typename Geometry , typename SegmentIdentifier , typename RobustPolicy , typename RangeOut >
void boost::geometry::copy_segments ( Geometry const &  geometry,
SegmentIdentifier const &  seg_id,
signed_size_type  to_index,
RobustPolicy const &  robust_policy,
RangeOut &  range_out 
)

Copy segments from a geometry, starting with the specified segment (seg_id) until the specified index (to_index)

char boost::geometry::method_char ( detail::overlay::method_type const &  method)
char boost::geometry::operation_char ( detail::overlay::operation_type const &  operation)
char boost::geometry::visited_char ( detail::overlay::visit_info const &  v)
template<bool Reverse1, bool Reverse2, overlay_type OverlayType, typename Turns , typename Clusters , typename Geometry1 , typename Geometry2 , typename RobustPolicy , typename Strategy >
void boost::geometry::enrich_intersection_points ( Turns &  turns,
Clusters &  clusters,
Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
RobustPolicy const &  robust_policy,
Strategy const &  strategy 
)

All intersection points are enriched with successor information.

Template Parameters
Turnstype of intersection container (e.g. vector of "intersection/turn point"'s)
Clusterstype of cluster container
Geometry1Any type fulfilling a Geometry Concept
Geometry2Any type fulfilling a Geometry Concept
Strategyside strategy type
Parameters
turnscontainer containing intersection points
clusterscontainer containing clusters
geometry1A model of the specified concept
geometry2A model of the specified concept
robust_policypolicy to handle robustness issues
strategystrategy
template<typename Geometry1 , typename Geometry2 , typename RobustPolicy , typename Turns >
void boost::geometry::get_intersection_points ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
RobustPolicy const &  robust_policy,
Turns &  turns 
)
template<bool Reverse1, bool Reverse2, typename AssignPolicy , typename Geometry1 , typename Geometry2 , typename RobustPolicy , typename Turns , typename InterruptPolicy >
void boost::geometry::get_turns ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
RobustPolicy const &  robust_policy,
Turns &  turns,
InterruptPolicy &  interrupt_policy 
)

Calculate the turn points of two geometries.

Template Parameters
Geometry1Any type fulfilling a Geometry Concept
Geometry2Any type fulfilling a Geometry Concept
Turnstype of turn-container (e.g. vector of "intersection/turn point"'s)
Parameters
geometry1A model of the specified concept
geometry2A model of the specified concept
robust_policypolicy to handle robustness issues
turnscontainer which will contain turn points
interrupt_policypolicy determining if process is stopped when intersection is found
template<typename AssignPolicy , typename Geometry , typename RobustPolicy , typename Turns , typename InterruptPolicy >
void boost::geometry::self_turns ( Geometry const &  geometry,
RobustPolicy const &  robust_policy,
Turns &  turns,
InterruptPolicy &  interrupt_policy 
)

Calculate self intersections of a geometry.

Template Parameters
Geometrygeometry type
Turnstype of intersection container (e.g. vector of "intersection/turn point"'s)
Parameters
geometrygeometry
robust_policypolicy to handle robustness issues
turnscontainer which will contain intersection points
interrupt_policypolicy determining if process is stopped when intersection is found
template<typename Geometry , typename Section >
ring_return_type<Geometry const>::type boost::geometry::range_by_section ( Geometry const &  geometry,
Section const &  section 
)

Get full ring (exterior, one of interiors, one from multi) indicated by the specified section.

Template Parameters
Geometrytype
Sectiontype of section to get from
Parameters
geometrygeometry to take section of
sectionstructure with section
template<bool Reverse, typename DimensionVector , typename Geometry , typename Sections , typename RobustPolicy >
void boost::geometry::sectionalize ( Geometry const &  geometry,
RobustPolicy const &  robust_policy,
Sections &  sections,
int  source_index = 0,
std::size_t  max_count = 10 
)

Split a geometry into monotonic sections.

Template Parameters
Geometrytype of geometry to check
Sectionstype of sections to create
Parameters
geometrygeometry to create sections from
robust_policypolicy to handle robustness issues
sectionsstructure with sections
source_indexindex to assign to the ring_identifiers
max_countmaximal number of points per section (defaults to 10, this seems to give the fastest results)
template<typename Iterator >
bool boost::geometry::has_one_element ( Iterator  first,
Iterator  beyond 
)
template<typename Geometry >
point_iterator<Geometry> boost::geometry::points_begin ( Geometry &  geometry)
template<typename Geometry >
point_iterator<Geometry> boost::geometry::points_end ( Geometry &  geometry)
template<typename Geometry >
point_reverse_iterator<Geometry> boost::geometry::points_rbegin ( Geometry &  geometry)
template<typename Geometry >
point_reverse_iterator<Geometry> boost::geometry::points_rend ( Geometry &  geometry)
template<typename Geometry >
segment_iterator<Geometry const> boost::geometry::segments_begin ( Geometry const &  geometry)
template<typename Geometry >
segment_iterator<Geometry const> boost::geometry::segments_end ( Geometry const &  geometry)
template<typename SvgPoint , typename Geometry , typename TransformStrategy >
void boost::geometry::svg_map ( std::ostream &  stream,
std::string const &  style,
double  size,
Geometry const &  geometry,
TransformStrategy const &  strategy 
)
template<typename Point , typename Op >
void boost::geometry::for_each_coordinate ( Point &  point,
Op  operation 
)
template<typename Point , typename Op >
Op boost::geometry::for_each_coordinate ( Point const &  point,
Op  operation 
)
template<typename Point >
bool boost::geometry::has_infinite_coordinate ( Point const &  point)
template<typename Point >
bool boost::geometry::has_nan_coordinate ( Point const &  point)
template<typename Point >
bool boost::geometry::has_non_finite_coordinate ( Point const &  point)

Variable Documentation

int const boost::geometry::min_corner = 0

Index of minimum corner of the box.

int const boost::geometry::max_corner = 1

Index of maximum corner of the box.


April 2, 2011

Copyright © 2007-2011 Barend Gehrels, Amsterdam, the Netherlands
Copyright © 2008-2011 Bruno Lalande, Paris, France
Copyright © 2009-2010 Mateusz Loskot, London, UK
Documentation is generated by Doxygen