boost::geometry::strategy::within::oriented_winding
point_in_poly_oriented_winding.hpp
boost::geometry::strategy::within::oriented_winding::counter
bool Reverse Reverse
typename Point
typename PointOfSegment Point
typename CalculationType void
select_calculation_type< Point, PointOfSegment, CalculationType >::type typedef select_calculation_type< Point, PointOfSegment, CalculationType >::type boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::calculation_type calculation_type
strategy::side::services::default_strategy< typename cs_tag< Point >::type >::type typedef strategy::side::services::default_strategy< typename cs_tag<Point>::type >::type boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::strategy_side_type strategy_side_type
Point typedef Point boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::point_type point_type
PointOfSegment typedef PointOfSegment boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::segment_point_type segment_point_type
counter typedef counter boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::state_type state_type
size_t D D
int static int boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::check_segment (Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, counter &state) check_segment Point const & point PointOfSegment const & seg1 PointOfSegment const & seg2 counter & state
size_t D D
int static int boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::check_touch (Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, counter &state) check_touch Point const & point PointOfSegment const & seg1 PointOfSegment const & seg2 counter & state
bool static bool boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::apply (Point const &point, PointOfSegment const &s1, PointOfSegment const &s2, counter &state) apply Point const & point PointOfSegment const & s1 PointOfSegment const & s2 counter & state
int static int boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType >::result (counter const &state) result counter const & state

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

Point

Any type fulfilling a Point Concept

Reverse

True if parameter should be reversed

PointOfSegment

segment point type

CalculationType

numeric 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

Barend Gehrels

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)]
- boost::geometry::strategy::within::oriented_winding
  apply
- boost::geometry::strategy::within::oriented_winding
  calculation_type
- boost::geometry::strategy::within::oriented_winding
  check_segment
- boost::geometry::strategy::within::oriented_winding
  check_touch
- boost::geometry::strategy::within::oriented_winding
  point_type
- boost::geometry::strategy::within::oriented_winding
  result
- boost::geometry::strategy::within::oriented_winding
  segment_point_type
- boost::geometry::strategy::within::oriented_winding
  state_type
- boost::geometry::strategy::within::oriented_winding
  strategy_side_type