Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
polygon_traits.hpp File Reference
#include "isotropy.hpp"
#include "point_data.hpp"
#include "point_traits.hpp"
#include "point_concept.hpp"
#include "interval_data.hpp"
#include "interval_traits.hpp"
#include "interval_concept.hpp"
#include "rectangle_data.hpp"
#include "rectangle_traits.hpp"
#include "rectangle_concept.hpp"
#include "detail/iterator_points_to_compact.hpp"
#include "detail/iterator_compact_to_points.hpp"
#include "polygon_45_data.hpp"
#include "polygon_data.hpp"
#include "polygon_90_data.hpp"
#include "polygon_90_with_holes_data.hpp"
#include "polygon_45_with_holes_data.hpp"
#include "polygon_with_holes_data.hpp"
Include dependency graph for polygon_traits.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::polygon::polygon_90_traits< T, enable >
 
struct  boost::polygon::polygon_traits_general< T >
 
struct  boost::polygon::polygon_traits_90< T >
 
struct  boost::polygon::polygon_traits< T, enable >
 
struct  boost::polygon::polygon_traits< T, typename gtl_or_4< typename gtl_same_type< typename geometry_concept< T >::type, polygon_concept >::type, typename gtl_same_type< typename geometry_concept< T >::type, polygon_45_concept >::type, typename gtl_same_type< typename geometry_concept< T >::type, polygon_with_holes_concept >::type, typename gtl_same_type< typename geometry_concept< T >::type, polygon_45_with_holes_concept >::type >::type >
 
struct  boost::polygon::polygon_traits< T, typename gtl_or< typename gtl_same_type< typename geometry_concept< T >::type, polygon_90_concept >::type, typename gtl_same_type< typename geometry_concept< T >::type, polygon_90_with_holes_concept >::type >::type >
 
struct  boost::polygon::polygon_with_holes_traits< T, enable >
 
struct  boost::polygon::polygon_90_mutable_traits< T, enable >
 
struct  boost::polygon::polygon_90_mutable_traits< T, typename gtl_same_type< polygon_concept, typename geometry_concept< T >::type >::type >
 
struct  boost::polygon::polygon_mutable_traits< T, enable >
 
struct  boost::polygon::polygon_with_holes_mutable_traits< T, enable >
 
struct  boost::polygon::polygon_concept
 
struct  boost::polygon::polygon_with_holes_concept
 
struct  boost::polygon::polygon_45_concept
 
struct  boost::polygon::polygon_45_with_holes_concept
 
struct  boost::polygon::polygon_90_concept
 
struct  boost::polygon::polygon_90_with_holes_concept
 
struct  boost::polygon::is_polygon_90_type< T >
 
struct  boost::polygon::is_polygon_45_type< T >
 
struct  boost::polygon::is_polygon_type< T >
 
struct  boost::polygon::is_polygon_90_with_holes_type< T >
 
struct  boost::polygon::is_polygon_45_with_holes_type< T >
 
struct  boost::polygon::is_polygon_with_holes_type< T >
 
struct  boost::polygon::is_mutable_polygon_90_type< T >
 
struct  boost::polygon::is_mutable_polygon_45_type< T >
 
struct  boost::polygon::is_mutable_polygon_type< T >
 
struct  boost::polygon::is_mutable_polygon_90_with_holes_type< T >
 
struct  boost::polygon::is_mutable_polygon_45_with_holes_type< T >
 
struct  boost::polygon::is_mutable_polygon_with_holes_type< T >
 
struct  boost::polygon::is_any_mutable_polygon_with_holes_type< T >
 
struct  boost::polygon::is_any_mutable_polygon_without_holes_type< T >
 
struct  boost::polygon::is_any_mutable_polygon_type< T >
 
struct  boost::polygon::polygon_from_polygon_with_holes_type< T >
 
struct  boost::polygon::polygon_from_polygon_with_holes_type< polygon_with_holes_concept >
 
struct  boost::polygon::polygon_from_polygon_with_holes_type< polygon_45_with_holes_concept >
 
struct  boost::polygon::polygon_from_polygon_with_holes_type< polygon_90_with_holes_concept >
 
struct  boost::polygon::geometry_domain< polygon_45_concept >
 
struct  boost::polygon::geometry_domain< polygon_45_with_holes_concept >
 
struct  boost::polygon::geometry_domain< polygon_90_concept >
 
struct  boost::polygon::geometry_domain< polygon_90_with_holes_concept >
 
struct  boost::polygon::distance_type_by_domain< domain_type, coordinate_type >
 
struct  boost::polygon::distance_type_by_domain< manhattan_domain, coordinate_type >
 
struct  boost::polygon::edge_utils< Unit >
 
class  boost::polygon::edge_utils< Unit >::less_point
 
struct  boost::polygon::geometry_concept< polygon_data< T > >
 
struct  boost::polygon::geometry_concept< polygon_45_data< T > >
 
struct  boost::polygon::geometry_concept< polygon_90_data< T > >
 
struct  boost::polygon::geometry_concept< polygon_with_holes_data< T > >
 
struct  boost::polygon::geometry_concept< polygon_45_with_holes_data< T > >
 
struct  boost::polygon::geometry_concept< polygon_90_with_holes_data< T > >
 
struct  boost::polygon::get_void< T >
 
struct  boost::polygon::get_void< gtl_yes >
 
struct  boost::polygon::polygon_with_holes_traits< T, typename get_void< typename is_any_mutable_polygon_without_holes_type< T >::type >::type >
 
struct  boost::polygon::view_of< rectangle_concept, T >
 
struct  boost::polygon::geometry_concept< view_of< rectangle_concept, T > >
 
struct  boost::polygon::view_of< polygon_45_concept, T >
 
struct  boost::polygon::geometry_concept< view_of< polygon_45_concept, T > >
 
struct  boost::polygon::view_of< polygon_90_concept, T >
 
struct  boost::polygon::geometry_concept< view_of< polygon_90_concept, T > >
 
struct  boost::polygon::view_of< polygon_45_with_holes_concept, T >
 
struct  boost::polygon::view_of< polygon_45_with_holes_concept, T >::iterator_holes_type
 
struct  boost::polygon::geometry_concept< view_of< polygon_45_with_holes_concept, T > >
 
struct  boost::polygon::view_of< polygon_90_with_holes_concept, T >
 
struct  boost::polygon::view_of< polygon_90_with_holes_concept, T >::iterator_holes_type
 
struct  boost::polygon::geometry_concept< view_of< polygon_90_with_holes_concept, T > >
 
struct  boost::polygon::view_of< polygon_concept, T >
 
struct  boost::polygon::geometry_concept< view_of< polygon_concept, T > >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::polygon
 

Functions

template<typename T , typename iT >
enable_if< typename
is_any_mutable_polygon_type< T >
::type, T >::type & 
boost::polygon::set_points (T &t, iT begin_points, iT end_points)
 
template<typename T , typename iT >
enable_if< typename gtl_or
< typename
is_mutable_polygon_90_type< T >
::type, typename
is_mutable_polygon_90_with_holes_type
< T >::type >::type, T >::type & 
boost::polygon::set_compact (T &t, iT begin_compact_coordinates, iT end_compact_coordinates)
 
template<typename T , typename iT >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_with_holes_type
< T >::type, typename
gtl_different_type< typename
geometry_domain< typename
geometry_concept< T >::type >
::type, manhattan_domain >
::type >::type, T >::type & 
boost::polygon::set_compact (T &t, iT begin_compact_coordinates, iT end_compact_coordinates)
 
template<typename T , typename iT >
enable_if< typename
is_any_mutable_polygon_with_holes_type
< T >::type, T >::type & 
boost::polygon::set_holes (T &t, iT begin_holes, iT end_holes)
 
template<typename T >
polygon_90_traits< T >
::compact_iterator_type 
boost::polygon::begin_compact (const T &polygon, typename enable_if< typename gtl_and< typename is_polygon_with_holes_type< T >::type, typename gtl_same_type< typename geometry_domain< typename geometry_concept< T >::type >::type, manhattan_domain >::type >::type >::type *=0)
 
template<typename T >
polygon_90_traits< T >
::compact_iterator_type 
boost::polygon::end_compact (const T &polygon, typename enable_if< typename gtl_and< typename is_polygon_with_holes_type< T >::type, typename gtl_same_type< typename geometry_domain< typename geometry_concept< T >::type >::type, manhattan_domain >::type >::type >::type *=0)
 
template<typename T >
enable_if< typename gtl_if
< typename
is_polygon_with_holes_type< T >
::type >::type, typename
polygon_traits< T >
::iterator_type >::type 
boost::polygon::begin_points (const T &polygon)
 
template<typename T >
enable_if< typename gtl_if
< typename
is_polygon_with_holes_type< T >
::type >::type, typename
polygon_traits< T >
::iterator_type >::type 
boost::polygon::end_points (const T &polygon)
 
template<typename T >
enable_if< typename
is_polygon_with_holes_type< T >
::type, std::size_t >::type 
boost::polygon::size (const T &polygon)
 
template<typename T >
enable_if< typename gtl_if
< typename
is_polygon_with_holes_type< T >
::type >::type, typename
polygon_with_holes_traits< T >
::iterator_holes_type >::type 
boost::polygon::begin_holes (const T &polygon)
 
template<typename T >
enable_if< typename gtl_if
< typename
is_polygon_with_holes_type< T >
::type >::type, typename
polygon_with_holes_traits< T >
::iterator_holes_type >::type 
boost::polygon::end_holes (const T &polygon)
 
template<typename T >
enable_if< typename
is_polygon_with_holes_type< T >
::type, std::size_t >::type 
boost::polygon::size_holes (const T &polygon)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_polygon_type< T1 >
::type, typename
is_polygon_type< T2 >::type >
::type, T1 >::type & 
boost::polygon::assign (T1 &lvalue, const T2 &rvalue)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_polygon_with_holes_type
< T1 >::type, typename
is_polygon_with_holes_type< T2 >
::type >::type, T1 >::type & 
boost::polygon::assign (T1 &lvalue, const T2 &rvalue)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_polygon_45_type< T1 >
::type, typename
is_polygon_45_type< T2 >::type >
::type, T1 >::type & 
boost::polygon::assign (T1 &lvalue, const T2 &rvalue)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_polygon_45_with_holes_type
< T1 >::type, typename
is_polygon_45_with_holes_type
< T2 >::type >::type, T1 >
::type & 
boost::polygon::assign (T1 &lvalue, const T2 &rvalue)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_polygon_90_type< T1 >
::type, typename
is_polygon_90_type< T2 >::type >
::type, T1 >::type & 
boost::polygon::assign (T1 &lvalue, const T2 &rvalue)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_polygon_90_with_holes_type
< T1 >::type, typename
is_polygon_90_with_holes_type
< T2 >::type >::type, T1 >
::type & 
boost::polygon::assign (T1 &lvalue, const T2 &rvalue)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_type
< T1 >::type, typename
is_rectangle_concept< typename
geometry_concept< T2 >::type >
::type >::type, T1 >::type & 
boost::polygon::assign (T1 &polygon, const T2 &rect)
 
template<typename polygon_type , typename point_type >
enable_if< typename gtl_and
< typename
is_mutable_polygon_90_type
< polygon_type >::type,
typename is_point_concept
< typename geometry_concept
< point_type >::type >::type >
::type, polygon_type >::type & 
boost::polygon::convolve (polygon_type &polygon, const point_type &point)
 
template<typename polygon_type , typename point_type >
enable_if< typename gtl_and
< typename gtl_or< typename
is_mutable_polygon_45_type
< polygon_type >::type,
typename
is_mutable_polygon_type
< polygon_type >::type >::type,
typename is_point_concept
< typename geometry_concept
< point_type >::type >::type >
::type, polygon_type >::type & 
boost::polygon::convolve (polygon_type &polygon, const point_type &point)
 
template<typename polygon_type , typename point_type >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_with_holes_type
< polygon_type >::type,
typename is_point_concept
< typename geometry_concept
< point_type >::type >::type >
::type, polygon_type >::type & 
boost::polygon::convolve (polygon_type &polygon, const point_type &point)
 
template<typename T >
enable_if< typename
is_any_mutable_polygon_type< T >
::type, T >::type & 
boost::polygon::move (T &polygon, orientation_2d orient, typename polygon_traits< T >::coordinate_type displacement)
 
template<typename polygon_type , typename transform_type >
enable_if< typename
is_any_mutable_polygon_without_holes_type
< polygon_type >::type,
polygon_type >::type & 
boost::polygon::transform (polygon_type &polygon, const transform_type &tr)
 Applies a transformation to the polygon. More...
 
template<typename T , typename transform_type >
enable_if< typename
is_any_mutable_polygon_with_holes_type
< T >::type, T >::type & 
boost::polygon::transform (T &polygon, const transform_type &tr)
 
template<typename polygon_type >
enable_if< typename
is_any_mutable_polygon_without_holes_type
< polygon_type >::type,
polygon_type >::type & 
boost::polygon::scale_up (polygon_type &polygon, typename coordinate_traits< typename polygon_traits< polygon_type >::coordinate_type >::unsigned_area_type factor)
 
template<typename T >
enable_if< typename
is_any_mutable_polygon_with_holes_type
< T >::type, T >::type & 
boost::polygon::scale_up (T &polygon, typename coordinate_traits< typename polygon_traits< T >::coordinate_type >::unsigned_area_type factor)
 
template<typename polygon_type >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_without_holes_type
< polygon_type >::type,
typename gtl_not< typename
gtl_same_type
< forty_five_domain, typename
geometry_domain< typename
geometry_concept< polygon_type >
::type >::type >::type >::type >
::type, polygon_type >::type & 
boost::polygon::scale_down (polygon_type &polygon, typename coordinate_traits< typename polygon_traits< polygon_type >::coordinate_type >::unsigned_area_type factor)
 
template<typename Unit >
Unit boost::polygon::local_abs (Unit value)
 
template<typename Unit >
void boost::polygon::snap_point_vector_to_45 (std::vector< point_data< Unit > > &pts)
 
template<typename polygon_type >
enable_if< typename
is_any_mutable_polygon_without_holes_type
< polygon_type >::type,
polygon_type >::type & 
boost::polygon::snap_to_45 (polygon_type &polygon)
 
template<typename polygon_type >
enable_if< typename
is_any_mutable_polygon_with_holes_type
< polygon_type >::type,
polygon_type >::type & 
boost::polygon::snap_to_45 (polygon_type &polygon)
 
template<typename polygon_type >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_without_holes_type
< polygon_type >::type,
typename gtl_same_type
< forty_five_domain, typename
geometry_domain< typename
geometry_concept< polygon_type >
::type >::type >::type >::type,
polygon_type >::type & 
boost::polygon::scale_down (polygon_type &polygon, typename coordinate_traits< typename polygon_traits< polygon_type >::coordinate_type >::unsigned_area_type factor)
 
template<typename T >
enable_if< typename
is_any_mutable_polygon_with_holes_type
< T >::type, T >::type & 
boost::polygon::scale_down (T &polygon, typename coordinate_traits< typename polygon_traits< T >::coordinate_type >::unsigned_area_type factor)
 
template<typename polygon_type >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_without_holes_type
< polygon_type >::type,
typename gtl_not< typename
gtl_same_type
< forty_five_domain, typename
geometry_domain< typename
geometry_concept< polygon_type >
::type >::type >::type >::type >
::type, polygon_type >::type & 
boost::polygon::scale (polygon_type &polygon, double factor)
 
template<typename polygon_type >
polygon_type & boost::polygon::scale (polygon_type &polygon, double factor, typename enable_if< typename gtl_and< typename is_any_mutable_polygon_without_holes_type< polygon_type >::type, typename gtl_same_type< forty_five_domain, typename geometry_domain< typename geometry_concept< polygon_type >::type >::type >::type >::type >::type *=0)
 
template<typename T >
Tboost::polygon::scale (T &polygon, double factor, typename enable_if< typename is_any_mutable_polygon_with_holes_type< T >::type >::type *=0)
 
template<typename T >
enable_if< typename
is_polygon_with_holes_type< T >
::type, typename
area_type_by_domain< typename
geometry_domain< typename
geometry_concept< T >::type >
::type, typename
polygon_traits< T >
::coordinate_type >::type >
::type 
boost::polygon::area (const T &polygon)
 
template<typename iT >
bool boost::polygon::point_sequence_is_45 (iT itr, iT itr_end)
 
template<typename polygon_type >
enable_if< typename
is_polygon_with_holes_type
< polygon_type >::type, bool >
::type 
boost::polygon::is_45 (const polygon_type &polygon)
 
template<typename distance_type , typename iterator_type >
distance_type boost::polygon::point_sequence_distance (iterator_type itr, iterator_type itr_end)
 
template<typename T >
distance_type_by_domain
< typename geometry_domain
< typename geometry_concept< T >
::type >::type, typename
polygon_traits< T >
::coordinate_type >::type 
boost::polygon::perimeter (const T &polygon, typename enable_if< typename is_polygon_with_holes_type< T >::type >::type *=0)
 
template<typename T >
enable_if< typename
is_polygon_with_holes_type< T >
::type, direction_1d >::type 
boost::polygon::winding (const T &polygon)
 
template<typename T , typename input_point_type >
enable_if< typename gtl_and
< typename is_polygon_90_type
< T >::type, typename
gtl_same_type< typename
geometry_concept
< input_point_type >::type,
point_concept >::type >::type,
bool >::type 
boost::polygon::contains (const T &polygon, const input_point_type &point, bool consider_touch=true)
 
template<typename T , typename input_point_type >
enable_if< typename gtl_and
< typename
is_any_mutable_polygon_with_holes_type
< T >::type, typename
gtl_same_type< typename
geometry_concept
< input_point_type >::type,
point_concept >::type >::type,
bool >::type 
boost::polygon::contains (const T &polygon, const input_point_type &point, bool consider_touch=true)
 
template<typename T , typename input_point_type >
enable_if< typename gtl_and_3
< typename is_polygon_type< T >
::type, typename
gtl_different_type< typename
geometry_domain< typename
geometry_concept< T >::type >
::type, manhattan_domain >
::type, typename gtl_same_type
< typename geometry_concept
< input_point_type >::type,
point_concept >::type >::type,
bool >::type 
boost::polygon::contains (const T &polygon, const input_point_type &point, bool consider_touch=true)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_rectangle_concept
< typename geometry_concept
< T1 >::type >::type, typename
is_polygon_with_holes_type< T2 >
::type >::type, bool >::type 
boost::polygon::extents (T1 &bounding_box, const T2 &polygon)
 
template<typename T1 , typename T2 >
enable_if< typename gtl_and
< typename
is_mutable_point_concept
< typename geometry_concept
< T1 >::type >::type, typename
is_polygon_with_holes_type< T2 >
::type >::type, bool >::type 
boost::polygon::center (T1 &center_point, const T2 &polygon)