Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType > Class Template Reference

Within detection using winding rule, but checking if enclosing ring is counter clockwise and, if so, reverses the result. More...

#include <point_in_poly_oriented_winding.hpp>

Public Types

typedef Point point_type
 
typedef PointOfSegment segment_point_type
 
typedef counter state_type
 

Static Public Member Functions

static bool apply (Point const &point, PointOfSegment const &s1, PointOfSegment const &s2, counter &state)
 
static int result (counter const &state)
 

Detailed Description

template<bool Reverse, typename Point, typename PointOfSegment = Point, typename CalculationType = void>
class boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >

Within detection using winding rule, but checking if enclosing ring is counter clockwise and, if so, reverses the result.

Template Parameters
Point
ReverseTrue if parameter should be reversed
PointOfSegment
CalculationType
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

{ [heading See also] [link geometry.reference.algorithms.within.within_3_with_strategy within (with strategy)] }

Member Typedef Documentation

template<bool Reverse, typename Point , typename PointOfSegment = Point, typename CalculationType = void>
typedef Point boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::point_type
template<bool Reverse, typename Point , typename PointOfSegment = Point, typename CalculationType = void>
typedef PointOfSegment boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::segment_point_type
template<bool Reverse, typename Point , typename PointOfSegment = Point, typename CalculationType = void>
typedef counter boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::state_type

Member Function Documentation

template<bool Reverse, typename Point , typename PointOfSegment = Point, typename CalculationType = void>
static bool boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::apply ( Point const &  point,
PointOfSegment const &  s1,
PointOfSegment const &  s2,
counter &  state 
)
inlinestatic
template<bool Reverse, typename Point , typename PointOfSegment = Point, typename CalculationType = void>
static int boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::result ( counter const &  state)
inlinestatic

The documentation for this class was generated from the following file: