Boost.Geometry    Boost C++ Libraries

boost::geometry Namespace Reference


Namespaces

namespace  traits
namespace  cs
namespace  strategy
namespace  concept
namespace  detail
namespace  policies
namespace  math

Classes

struct  add_const_if_c
 Meta-function to define a const or non const type. More...
struct  area_result
 Meta-function defining return type of area function. More...
class  box
 Class box: defines a box made of two describing points. More...
struct  box_tag
 Convenience 2D or 3D box (mbr) identifying tag. More...
struct  cartesian_distance
 Encapsulate the results of distance calculation. More...
struct  cartesian_tag
 Tag indicating Cartesian coordinate system family (cartesian,epsg). More...
class  centroid_exception
struct  circular_iterator
 Iterator which goes circular through a range, starting at a point, ending at that point. More...
struct  coordinate_system
 Meta-function which defines coordinate system for any geometry. More...
struct  coordinate_type
 Meta-function which defines coordinate type (int, float, double, etc) of any geometry. More...
struct  cs_tag
 Meta-function returning coordinate system tag (cs family) of any geometry. More...
struct  de9im
 Dimensionally Extended 9 Intersection Matrix. More...
struct  de9im_segment
class  degree
 Unit of plane angle: Degrees. More...
struct  dimension
 Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry. More...
struct  distance_result
 Shortcut to define return type of distance strategy. More...
struct  elongated_hole
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  exception
 Base exception class for GGL. More...
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 the id for a geometry type. More...
struct  geometry_not_recognized_tag
 "default" tag More...
struct  greater
 Greater functor. More...
struct  interior_type
 Meta-function defining container type of inner rings of (multi)polygon geometriy. More...
struct  invalid_hole
struct  is_linear
 Meta-function defining "true" for linear types (linestring,ring), "false" for non-linear typse. More...
struct  is_multi
 Meta-function defining "true" for multi geometries (multi_point, etc). More...
struct  is_radian
 Meta-function to verify if a coordinate system is radian. More...
struct  length_result
 Meta-function defining return type of length function. More...
struct  less
 Less functor, to sort points in ascending order. More...
class  linear_ring
 A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting. More...
class  linestring
 A linestring (named so by OGC) is a collection (default a vector) of points. More...
struct  linestring_tag
 OGC Linestring identifying tag. More...
struct  multi_linestring
 multi_line, a collection of linestring More...
struct  multi_linestring_tag
 OGC Multi linestring identifying tag. More...
struct  multi_point
 multi_point, a collection of points More...
struct  multi_point_tag
 OGC Multi point identifying tag. More...
struct  multi_polygon
 multi_polygon, a collection of polygons More...
struct  multi_polygon_tag
 OGC Multi polygon identifying tag. More...
struct  one_section_segment_iterator
class  point
 Basic point class, having coordinates defined in a neutral way. More...
struct  point_order
 Meta-function which defines point type of any geometry. More...
struct  point_tag
 OGC Point identifying tag. More...
struct  point_type
 Meta-function which defines point type of any geometry. More...
class  point_xy
 2D point in Cartesian coordinate system More...
class  polygon
 The polygon contains an outer ring and zero or more inner rings. More...
struct  polygon_tag
 OGC Polygon identifying tag. More...
class  radian
 Unit of plane angle: Radians. More...
struct  range_iterator_const_if_c
 Meta-function to define a const or non const boost range iterator. More...
struct  range_type
 Meta-function defining a type which is a boost-range. More...
struct  replace_point_type
struct  reverse_dispatch
struct  ring_tag
 Convenience (linear) ring identifying tag. More...
struct  ring_type
 Meta-function which defines ring type of (multi)polygon geometry. More...
struct  section
 Structure containing section information. More...
struct  section_iterator
struct  sections
 Structure containing a collection of sections. More...
class  segment
 Class segment: small class containing two (templatized) point references. More...
struct  segment_identifier
struct  segment_intersection_points
struct  segment_iterator
struct  segment_tag
 Convenience segment (2-points) identifying tag. More...
struct  select_calculation_type
 Meta-function selecting the "calculation" type. More...
struct  select_coordinate_type
 Meta-function selecting the most precise coordinate type of two geometries. More...
struct  select_most_precise
 Meta-function to select, of two types, the most accurate type for calculations. More...
struct  single_tag
 Meta-function to get for a tag of a multi-geometry the tag of the corresponding single-geometry. More...
struct  spherical_tag
 Tag indicating Spherical coordinate system family (spherical,celestial,...). More...
struct  strategy_area
 Traits class binding an area strategy to a coordinate system. More...
struct  strategy_centroid
 Traits class binding a centroid calculation strategy to a 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_distance
 Traits class binding a distance strategy to a (possibly two) coordinate system(s). More...
struct  strategy_distance_segment
 Traits class binding a distance-to-segment strategy to a (possibly two) coordinate system(s). More...
struct  strategy_intersection
struct  strategy_parse
 Tagraits class binding a parsing strategy to a coordinate system. More...
struct  strategy_side
 Traits class binding a side determination strategy to a coordinate system. More...
struct  strategy_tag
struct  strategy_tag< strategy::distance::projected_point< Point, PointOfSegment, PPStrategy > >
struct  strategy_tag< strategy::distance::pythagoras< Point1, Point2 > >
struct  strategy_tag_distance_point_point
struct  strategy_tag_distance_point_segment
struct  strategy_tag_unknown
struct  strategy_transform
 Traits class binding a transformation strategy to a coordinate system. More...
struct  strategy_within
 Traits class binding a within determination strategy to a coordinate system. More...
class  svg_manipulator
 Generic geometry template manipulator class, takes corresponding output class from traits class. More...
struct  tag
 Meta-function to get the tag of any geometry type. More...
struct  topological_dimension
 Meta-function returning the topological dimension of a geometry. More...

Typedefs

typedef box< point_2dbox_2d
typedef box< point_3dbox_3d
typedef linestring< point_2dlinestring_2d
typedef linestring< point_3dlinestring_3d
typedef point_xy< double,
cs::cartesian
point_2d
typedef point< double,
3, cs::cartesian
point_3d
typedef polygon< point_2dpolygon_2d
typedef polygon< point_3dpolygon_3d
typedef linear_ring< point_2dring_2d
typedef linear_ring< point_3dring_3d
typedef segment< point_2dsegment_2d

Enumerations

enum  label_option {
  label_default, label_longest, label_horizontal, label_centroid,
  label_broadest
}
enum  order_selector { clockwise = 1, counterclockwise = 2, order_undetermined = 0 }

Functions

template<typename IntersectionPoints >
void adapt_turns (IntersectionPoints &intersection_points)
template<typename Point1 , typename Point2 >
void add_point (Point1 &p1, Point2 const &p2)
 Adds a point to another.
template<typename Point >
void add_value (Point &p, typename detail::param< Point >::type value)
 Adds a value to each coordinate of a point.
template<typename Geometry , typename RoP >
void append (Geometry &geometry, RoP const &range_or_point, int ring_index=-1, int multi_index=0)
 Appends one or more points to a linestring, ring, polygon, multi.
template<typename Geometry , typename Strategy >
Strategy::return_type area (Geometry const &geometry, Strategy const &strategy)
 Calculate area of a geometry using a specified strategy.
template<typename Geometry >
area_result< Geometry >::type area (Geometry const &geometry)
 Calculate area of a geometry.
template<typename Range , typename Geometry >
Range const & as_range (Geometry const &input)
 Function getting either the range (ring, linestring) itself or the outer ring (polygon), const version.
template<typename Range , typename Geometry >
Range & as_range (Geometry &input)
 Function getting either the range (ring, linestring) itself or the outer ring (polygon).
template<typename G , int D>
void assert_dimension ()
 assert_dimension, enables compile-time checking if coordinate dimensions are as expected
template<typename G1 , typename G2 >
void assert_dimension_equal ()
 assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal
template<typename G , int D>
void assert_dimension_greater_equal ()
template<typename G , int D>
void assert_dimension_less_equal ()
 assert_dimension, enables compile-time checking if coordinate dimensions are as expected
template<typename Geometry , typename Range >
void assign (Geometry &geometry, Range const &range)
 assign a range of points to a linestring, ring or polygon
template<typename Geometry , typename Type >
void assign (Geometry &geometry, Type const &c1, Type const &c2, Type const &c3, Type const &c4)
 assign center + radius to a sphere [for extension]
template<typename Geometry , typename Type >
void assign (Geometry &geometry, Type const &c1, Type const &c2, Type const &c3)
 assign three values to a 3D point [or the center + radius to a circle]
template<typename Geometry , typename Type >
void assign (Geometry &geometry, Type const &c1, Type const &c2)
 assign two values to a 2D point
template<typename Box , typename Point >
void assign_box_corners (Box const &box, Point &lower_left, Point &lower_right, Point &upper_left, Point &upper_right)
 Assign the 4 points of a 2D box.
template<typename Geometry >
void assign_inverse (Geometry &geometry)
 assign to a box inverse infinite
template<std::size_t Index, typename Point , typename Geometry >
void assign_point_from_index (Geometry const &geometry, Point &point)
 Assign a point with a point of a box or segment.
template<std::size_t Index, typename Geometry , typename Point >
void assign_point_to_index (Point const &point, Geometry &geometry)
 Assign a box or segment with the value of a point.
template<typename Geometry >
void assign_zero (Geometry &geometry)
 assign zero values to a box, point
template<typename Input , typename Output , typename T >
void buffer (Input const &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)
 Calculate buffer (= new geometry) around specified distance of geometry.
template<typename Geometry , typename Point >
void centroid (Geometry const &geometry, Point &c)
 Calculate centroid.
template<typename Geometry , typename Point , typename Strategy >
void centroid (Geometry const &geometry, Point &c, Strategy const &strategy)
 Calculate centroid using a specified strategy.
template<typename Geometry >
void clear (Geometry &geometry)
 Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.
template<typename T >
bool close_to_zero (T const &value)
 Utility function to check if a distance is very small.
template<typename Box , typename Geometry >
void combine (Box &box, Geometry const &geometry)
 Combines a box with another geometry (box, point).
template<typename Geometry1 , typename Geometry2 >
void convert (Geometry1 const &geometry1, Geometry2 &geometry2)
 Converts one geometry to another geometry.
template<typename Geometry1 , typename Geometry2 >
void convex_hull (Geometry1 const &geometry, Geometry2 &out)
 Calculate the convex hull of a geometry.
template<typename Geometry1 , typename Geometry2 , typename Strategy >
void convex_hull (Geometry1 const &geometry, Geometry2 &out, Strategy const &strategy)
template<typename Geometry , typename OutputIterator >
OutputIterator convex_hull_inserter (Geometry const &geometry, OutputIterator out)
 Calculate the convex hull of a geometry, output-iterator version.
template<typename Geometry , typename OutputIterator , typename Strategy >
OutputIterator convex_hull_inserter (Geometry const &geometry, OutputIterator out, Strategy const &strategy)
template<typename Src , typename Dst >
void copy_coordinates (Src const &source, Dst &dest)
 Copies coordinates from source to destination point.
template<typename Geometry , typename SegmentIdentifier , typename RangeOut >
void copy_segments (Geometry const &geometry, SegmentIdentifier const &seg_id, int to_index, RangeOut &range_out)
 Traverses through intersection points / geometries.
template<typename Geometry >
void correct (Geometry &geometry)
template<typename Geometry1 , typename Geometry2 >
bool disjoint (const Geometry1 &geometry1, const Geometry2 &geometry2)
 Calculate if two geometries are disjoint.
template<typename Geometry1 , typename Geometry2 >
distance_result< Geometry1,
Geometry2 >::type 
distance (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Calculate distance between two geometries.
template<typename Geometry1 , typename Geometry2 , typename Strategy >
Strategy::return_type distance (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 Calculate distance between two geometries with a specified strategy.
template<typename Point1 , typename Point2 >
void divide_point (Point1 &p1, Point2 const &p2)
 Divides a point by another.
template<typename Point >
void divide_value (Point &p, typename detail::param< Point >::type value)
 Divides each coordinate of a point by a value.
template<typename P1 , typename P2 >
select_coordinate_type< P1, P2 >
::type 
dot_product (P1 const &p1, P2 const &p2)
 Computes the dot product of 2 points.
template<typename Geometry >
detail::dsv::dsv_manipulator
< Geometry > 
dsv (Geometry const &geometry, std::string const &coordinate_separator=", ", std::string const &point_open="(", std::string const &point_close=")", std::string const &point_separator=", ", std::string const &list_open="(", std::string const &list_close=")", std::string const &list_separator=", ")
 Main DSV-streaming function.
template<typename IntersectionPoints >
void enrich_intersection_points (IntersectionPoints &intersection_points, bool trivial)
 All intersection points are enriched with successor information.
template<typename Geometry , typename Box >
void envelope (Geometry const &geometry, Box &mbr)
 Calculate envelope of a geometry.
template<typename Geometry1 , typename Geometry2 >
bool equals (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Detect if two geometries are spatially equal.
template<typename Polygon >
const ring_type< Polygon >::type & exterior_ring (Polygon const &polygon)
 Function to get the exterior ring of a polygon (const version).
template<typename Polygon >
ring_type< Polygon >::type & exterior_ring (Polygon &polygon)
 Function to get the exterior_ring ring of a polygon.
template<typename Point , typename Op >
void for_each_coordinate (Point &point, Op operation)
template<typename Geometry , typename Functor >
Functor for_each_point (Geometry &geometry, Functor f)
 Calls functor for geometry.
template<typename Geometry , typename Functor >
Functor for_each_point (Geometry const &geometry, Functor f)
 Calls functor for geometry.
template<typename Geometry , typename Actor >
void for_each_range (Geometry const &geometry, Actor &actor)
template<typename Geometry , typename Functor >
Functor for_each_segment (Geometry &geometry, Functor f)
 Calls functor for segments on linestrings, rings, polygons, ...
template<typename Geometry , typename Functor >
Functor for_each_segment (Geometry const &geometry, Functor f)
 Calls functor for segments on linestrings, rings, polygons, ...
template<std::size_t Dimension, typename Geometry >
coordinate_type< Geometry >::type get (Geometry const &geometry)
 
  • get coordinate value of a Point ( / Sphere)

template<std::size_t Dimension, typename Geometry >
coordinate_type< Geometry >::type get_as_radian (const Geometry &geometry)
 get coordinate value of a point, result is in Radian
template<typename Geometry , typename IntersectionPoints >
bool get_intersection_points (Geometry const &geometry, IntersectionPoints &intersection_points)
 Calculate self intersections of a geometry.
template<typename Geometry1 , typename Geometry2 , typename IntersectionPoints >
bool get_intersection_points (Geometry1 const &geometry1, Geometry2 const &geometry2, IntersectionPoints &intersection_points)
 Calculate intersection points of two geometries.
template<typename Geometry , typename Section >
void get_section (Geometry const &geometry, Section const &section, typename boost::range_const_iterator< typename geometry::range_type< Geometry >::type >::type &begin, typename boost::range_const_iterator< typename geometry::range_type< Geometry >::type >::type &end)
 Get iterators for a specified section.
template<typename Polygon >
const interior_type< Polygon >
::type & 
interior_rings (Polygon const &polygon)
 Function to get the interior rings of a polygon (const version).
template<typename Polygon >
interior_type< Polygon >::type & interior_rings (Polygon &polygon)
 Function to get the interior rings of a polygon (non const version).
template<typename Geometry , typename Iterator >
void intermediate (Geometry const &geometry, bool start_and_end, Iterator out)
 Calculate intermediate of a geometry.
template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator >
OutputIterator intersection_inserter (Geometry1 const &geometry1, Geometry2 const &geometry2, OutputIterator out)
 Intersects two geometries.
template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator , typename Strategy >
OutputIterator intersection_inserter (Geometry1 const &geometry1, Geometry2 const &geometry2, OutputIterator out, Strategy const &strategy)
 Intersects two geometries.
template<typename Geometry1 , typename Geometry2 >
bool intersects (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Determine if there is at least one intersection.
template<typename Geometry >
bool intersects (Geometry const &geometry)
 Determine if there is at least one intersection (crossing or self-tangency).
template<typename P , template< typename, typename > class PointList, template< typename, typename > class RingList, template< typename > class PointAlloc, template< typename > class RingAlloc, typename M >
 label_info (const polygon< P, PointList, RingList, PointAlloc, RingAlloc > &poly, label_option option, M &mp)
template<typename P , typename M >
 label_info (const box< P > &b, label_option option, M &mp)
template<typename P , typename M >
 label_info (const P &p, label_option option, M &mp)
template<typename B , typename M >
void label_info_box (const B &box, label_option option, M &mp)
template<typename P , typename M >
 label_info_point (const P &point, label_option option, M &mp)
template<typename Y , typename M >
void label_info_polygon (const Y &poly, label_option option, M &mp)
template<typename Geometry , typename Strategy >
length_result< Geometry >::type length (Geometry const &geometry, Strategy const &strategy)
 Calculate length of a geometry.
template<typename Geometry >
length_result< Geometry >::type length (Geometry const &geometry)
 Calculate length of a geometry.
template<typename Geometry , typename Range >
Geometry make (Range const &range)
template<typename Geometry , typename T >
Geometry make (T const &c1, T const &c2, T const &c3, T const &c4)
template<typename Geometry , typename T >
Geometry make (T const &c1, T const &c2, T const &c3)
 Make a geometry.
template<typename Geometry , typename T >
Geometry make (T const &c1, T const &c2)
 Make a geometry.
template<typename Output , typename Input , typename T >
Output make_buffer (Input const &geometry, T const &distance, T const &chord_length=-1)
 Calculate and return buffer (= new geometry) around specified distance of geometry.
template<typename Point , typename Geometry , typename Strategy >
Point make_centroid (Geometry const &geometry, Strategy const &strategy)
 Calculate and return centroid, using a specified strategy.
template<typename Point , typename Geometry >
Point make_centroid (Geometry const &geometry)
 Calculate and return centroid.
template<typename R , typename T >
make_distance_result (T const &value)
 Object generator to create instance which can be compared.
template<typename Box , typename Geometry >
Box make_envelope (Geometry const &geometry)
 Calculate and return envelope of a geometry.
template<typename Geometry >
Geometry make_inverse ()
 Create a box with inverse infinite coordinates.
template<typename C >
segment_iterator< typename
C::iterator, typename
C::value_type > 
make_segment_iterator (C &c)
template<typename Geometry >
Geometry make_zero ()
 Create a geometry with "zero" coordinates.
template<typename IntersectionPoints >
void merge_intersection_points (IntersectionPoints &intersection_points)
 Merges intersection points such that points at the same location will be merged, having one point and their info-records appended.
template<typename Point1 , typename Point2 >
void multiply_point (Point1 &p1, Point2 const &p2)
 Multiplies a point by another.
template<typename Point >
void multiply_value (Point &p, typename detail::param< Point >::type value)
 Multiplies each coordinate of a point by a value.
template<typename Geometry1 , typename Geometry2 , typename Point1 , typename Point2 >
void nearest_neighbor (Geometry1 const &geometry1, Geometry2 const &geometry2, Point1 &point1, Point2 &point2)
 Calculate closest point-pair from one geometry to another.
template<typename Geometry >
std::size_t num_interior_rings (Geometry const &geometry)
 Function to get the number of interior rings of a polygon.
template<typename Geometry >
std::size_t num_points (Geometry const &geometry)
 get number of points
template<typename Base , typename Point >
bool operator!= (segment_iterator< Base, Point > const &lhs, segment_iterator< Base, Point > const &rhs)
template<typename Base , typename Point >
bool operator== (segment_iterator< Base, Point > const &lhs, segment_iterator< Base, Point > const &rhs)
template<typename Geometry1 , typename Geometry2 >
bool overlaps (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Determines overlap between two geometries.
template<typename Geometry , typename Strategy >
length_result< Geometry >::type perimeter (Geometry const &geometry, Strategy const &strategy)
 Calculate perimeter of a geometry.
template<typename Geometry >
length_result< Geometry >::type perimeter (Geometry const &geometry)
 Calculate perimeter of a geometry.
template<typename Geometry >
bool point_on_border (Geometry const &geometry, typename point_type< Geometry >::type &point)
 Take point on a border.
template<typename Geometry , typename Predicate >
void remove_holes_if (Geometry &geometry, Predicate const &predicate)
 Remove holes from a geometry (polygon, multi-polygon) using a specified condition.
template<typename Geometry , typename Sections >
void sectionalize (Geometry const &geometry, Sections &sections)
 Split a geometry into monotonic sections.
template<typename Geometry , typename Point , typename RadiusType >
bool selected (Geometry const &geometry, Point const &selection_point, RadiusType const &search_radius)
 Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry.
template<std::size_t Dimension, typename Geometry >
void set (Geometry &geometry, typename coordinate_type< Geometry >::type const &value)
 
  • set coordinate value of a Point ( / Sphere)

template<std::size_t Dimension, typename Geometry >
void set_from_radian (Geometry &geometry, const typename coordinate_type< Geometry >::type &radians)
 set coordinate value (in radian) to a point
template<typename Geometry >
void simplify (Geometry const &geometry, Geometry &out, double max_distance)
 Simplify a geometry.
template<typename Geometry , typename Strategy >
void simplify (Geometry const &geometry, Geometry &out, double max_distance, Strategy const &strategy)
 Simplify a geometry using a specified strategy.
template<typename Geometry , typename OutputIterator >
void simplify_inserter (Geometry const &geometry, OutputIterator out, double max_distance)
 Simplify a geometry, using an output iterator.
template<typename Geometry , typename OutputIterator , typename Strategy >
void simplify_inserter (Geometry const &geometry, OutputIterator out, double max_distance, Strategy const &strategy)
 Simplify a geometry, using an output iterator and a specified strategy.
template<typename Point1 , typename Point2 >
void subtract_point (Point1 &p1, Point2 const &p2)
 Subtracts a point to another.
template<typename Point >
void subtract_value (Point &p, typename detail::param< Point >::type value)
 Subtracts a value to each coordinate of a point.
template<typename Geometry >
svg_manipulator< Geometry > svg (Geometry const &t, std::string const &style, int size=-1)
 Main svg function to stream geometries as SVG.
template<typename Geometry1 , typename Geometry2 >
bool transform (Geometry1 const &geometry1, Geometry2 &geometry2)
 Transforms from one geometry to another geometry using a strategy.
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 a strategy.
template<typename SideStrategy , typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator >
void traverse (Geometry1 const &geometry1, Geometry2 const &geometry2, int direction, IntersectionPoints &intersection_points, bool trivial, OutputIterator out)
 Traverses through intersection points / geometries.
template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator >
OutputIterator union_inserter (Geometry1 const &geometry1, Geometry2 const &geometry2, OutputIterator out)
 Combines two geometries which each other.
template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator , typename Strategy >
OutputIterator union_inserter (Geometry1 const &geometry1, Geometry2 const &geometry2, OutputIterator out, Strategy const &strategy)
 Combines two geometries which each other.
template<typename Geometry1 , typename Geometry2 , typename Strategy >
bool within (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)
 Within, examine if a geometry is within another geometry, using a specified strategy.
template<typename Geometry1 , typename Geometry2 >
bool within (Geometry1 const &geometry1, Geometry2 const &geometry2)
 Within, examine if a geometry is within another geometry.

Variables

const int max_corner = 1
const int min_corner = 0

Typedef Documentation

Examples:
02_linestring_example.cpp.

Definition at line 19 of file cartesian2d.hpp.

Definition at line 20 of file cartesian2d.hpp.

Definition at line 21 of file cartesian2d.hpp.

Definition at line 22 of file cartesian2d.hpp.

Definition at line 23 of file cartesian2d.hpp.

Definition at line 24 of file cartesian2d.hpp.

Definition at line 18 of file cartesian3d.hpp.

Definition at line 19 of file cartesian3d.hpp.

Definition at line 20 of file cartesian3d.hpp.

Definition at line 21 of file cartesian3d.hpp.

Definition at line 22 of file cartesian3d.hpp.


Enumeration Type Documentation

Enumerator:
clockwise 
counterclockwise 
order_undetermined 

Definition at line 22 of file point_order.hpp.

Enumerator:
label_default 
label_longest 
label_horizontal 
label_centroid 
label_broadest 

Definition at line 29 of file labelinfo.hpp.


Function Documentation

template<typename G , int D>
void boost::geometry::assert_dimension_greater_equal (  ) 

Definition at line 94 of file coordinate_dimension.hpp.

template<typename Geometry1 , typename Geometry2 , typename Strategy >
void boost::geometry::convex_hull ( Geometry1 const &  geometry,
Geometry2 &  out,
Strategy const &  strategy 
)

Examples:
02_linestring_example.cpp, and 03_polygon_example.cpp.

Definition at line 167 of file convex_hull.hpp.

template<typename Geometry , typename OutputIterator , typename Strategy >
OutputIterator boost::geometry::convex_hull_inserter ( Geometry const &  geometry,
OutputIterator  out,
Strategy const &  strategy 
)

Definition at line 223 of file convex_hull.hpp.

template<typename Geometry >
void boost::geometry::correct ( Geometry &  geometry  ) 

Examples:
03_polygon_example.cpp.

Definition at line 185 of file correct.hpp.

template<typename P , typename M >
boost::geometry::label_info_point ( const P &  point,
label_option  option,
M &  mp 
)

Definition at line 43 of file labelinfo.hpp.

template<typename Y , typename M >
void boost::geometry::label_info_polygon ( const Y &  poly,
label_option  option,
M &  mp 
)

Definition at line 51 of file labelinfo.hpp.

template<typename B , typename M >
void boost::geometry::label_info_box ( const B &  box,
label_option  option,
M &  mp 
)

Definition at line 58 of file labelinfo.hpp.

template<typename P , typename M >
boost::geometry::label_info ( const P &  p,
label_option  option,
M &  mp 
)

Definition at line 70 of file labelinfo.hpp.

template<typename P , typename M >
boost::geometry::label_info ( const box< P > &  b,
label_option  option,
M &  mp 
)

Definition at line 78 of file labelinfo.hpp.

template<typename P , template< typename, typename > class PointList, template< typename, typename > class RingList, template< typename > class PointAlloc, template< typename > class RingAlloc, typename M >
boost::geometry::label_info ( const polygon< P, PointList, RingList, PointAlloc, RingAlloc > &  poly,
label_option  option,
M &  mp 
)

Definition at line 94 of file labelinfo.hpp.

template<typename Geometry , typename T >
Geometry boost::geometry::make ( T const &  c1,
T const &  c2,
T const &  c3,
T const &  c4 
)

Definition at line 66 of file make.hpp.

template<typename Geometry , typename Range >
Geometry boost::geometry::make ( Range const &  range  ) 

Definition at line 83 of file make.hpp.

template<typename Geometry1 , typename Geometry2 , typename Point1 , typename Point2 >
void boost::geometry::nearest_neighbor ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
Point1 &  point1,
Point2 &  point2 
)

Calculate closest point-pair from one geometry to another.

Take for example a point and a linestring, it will deliver the point itself and the closest point on that linestring. That closest point on that linestring does not need to be one of the vertices, it can be a "projected" point on a segment. It is related to the "distance" algorithm, because the distance is the distance between these points.

Note:
currently NOT separated for different coordinate systems. So even in Spherical or Geographic systems the closest point is determined following cartesian policy
Template Parameters:
Geometry1 first geometry type
Geometry2 second geometry type
Point1 first point type
Point2 second point type, often same as first point type
Parameters:
geometry1 first geometry
geometry2 second geometry
point1 first point, will receive point on geometry1
point2 second point, will receive point on geometry2

Definition at line 200 of file nearest_neighbor.hpp.

template<typename Geometry , typename Predicate >
void boost::geometry::remove_holes_if ( Geometry &  geometry,
Predicate const &  predicate 
)

Remove holes from a geometry (polygon, multi-polygon) using a specified condition.

Definition at line 79 of file remove_holes_if.hpp.

template<typename IntersectionPoints >
void boost::geometry::adapt_turns ( IntersectionPoints &  intersection_points  ) 

Definition at line 555 of file adapt_turns.hpp.

template<typename Base , typename Point >
bool boost::geometry::operator== ( segment_iterator< Base, Point > const &  lhs,
segment_iterator< Base, Point > const &  rhs 
)

Definition at line 109 of file segment_iterator.hpp.

template<typename Base , typename Point >
bool boost::geometry::operator!= ( segment_iterator< Base, Point > const &  lhs,
segment_iterator< Base, Point > const &  rhs 
)

Definition at line 116 of file segment_iterator.hpp.

template<typename C >
segment_iterator< typename C::iterator, typename C::value_type> boost::geometry::make_segment_iterator ( C &  c  ) 

Definition at line 128 of file segment_iterator.hpp.

template<typename Src , typename Dst >
void boost::geometry::copy_coordinates ( Src const &  source,
Dst &  dest 
)

Copies coordinates from source to destination point.

The function copy_coordinates copies coordinates from one point to another point. Source point and destination point might be of different types.

Parameters:
source Source point
dest Destination point
Note:
If destination type differs from source type, they must have the same coordinate count

Definition at line 62 of file copy.hpp.

template<typename Point , typename Op >
void boost::geometry::for_each_coordinate ( Point &  point,
Op  operation 
)

Definition at line 50 of file for_each_coordinate.hpp.

template<typename Geometry , typename Actor >
void boost::geometry::for_each_range ( Geometry const &  geometry,
Actor &  actor 
)

Definition at line 100 of file for_each_range.hpp.


Variable Documentation

Definition at line 50 of file access.hpp.

Definition at line 51 of file access.hpp.


December 1, 2009

Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam
Copyright © 2008-2009 Bruno Lalande, Paris
Copyright © 2009 Mateusz Loskot, Cadcorp, London
Documentation is generated by Doxygen