Boost.Geometry    Boost C++ Libraries
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType > Class Template Reference

Within detection using winding rule. More...

Public Types

typedef Point point_type
 
typedef PointOfSegment segment_point_type
 
typedef counter state_type
 

Public Member Functions

bool apply (Point const &point, PointOfSegment const &s1, PointOfSegment const &s2, counter &state) const
 
 winding ()
 
 winding (SideStrategy const &side_strategy)
 

Static Public Member Functions

static int result (counter const &state)
 

Detailed Description

template<typename Point, typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
class boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >

Within detection using winding rule.

Template Parameters
PointAny type fulfilling a Point Concept
PointOfSegmentsegment point type
SideStrategySide strategy
CalculationTypenumeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point
Author
Barend Gehrels
Note
The implementation is inspired by terralib http://www.terralib.org (LGPL)
but totally revised afterwards, especially for cases on segments
Only dependant on "side", -> agnostic, suitable for spherical/latlong

Member Typedef Documentation

template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
typedef Point boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::point_type
template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
typedef PointOfSegment boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::segment_point_type
template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
typedef counter boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::state_type

Constructor & Destructor Documentation

template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::winding ( )
template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::winding ( SideStrategy const &  side_strategy)

Member Function Documentation

template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
bool boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::apply ( Point const &  point,
PointOfSegment const &  s1,
PointOfSegment const &  s2,
counter &  state 
) const
template<typename Point , typename PointOfSegment = Point, typename SideStrategy = typename strategy::side::services::default_strategy < typename cs_tag<Point>::type >::type, typename CalculationType = void>
static int boost::geometry::strategy::within::winding< Point, PointOfSegment, SideStrategy, CalculationType >::result ( counter const &  state)
static

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