boost::geometry::strategy::within::oriented_winding< Reverse, Point, PointOfSegment, CalculationType > Class Template Reference
strategies: strategies

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

List of all members.

## Classes

class | counter

## 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 | 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

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<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
| ) |  | `[static]`

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 | ) | `[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