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

Within detection using cross counting. More...

Public Types

typedef Point point_type
 
typedef PointOfSegment segment_point_type
 
typedef crossings state_type
 

Static Public Member Functions

static bool apply (Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, crossings &state)
 
static int result (crossings const &state)
 

Detailed Description

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

Within detection using cross counting.

Template Parameters
PointAny type fulfilling a Point Concept
PointOfSegmentsegment point type
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
adapted from Randolph Franklin algorithm
Barend and Maarten, 1995
Revised for templatized library, Barend Gehrels, 2007
Returns
true if point is in ring, works for closed rings in both directions
Note
Does NOT work correctly for point ON border

Member Typedef Documentation

template<typename Point , typename PointOfSegment = Point, typename CalculationType = void>
typedef Point boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::point_type
template<typename Point , typename PointOfSegment = Point, typename CalculationType = void>
typedef PointOfSegment boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::segment_point_type
template<typename Point , typename PointOfSegment = Point, typename CalculationType = void>
typedef crossings boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::state_type

Member Function Documentation

template<typename Point , typename PointOfSegment = Point, typename CalculationType = void>
static bool boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::apply ( Point const &  point,
PointOfSegment const &  seg1,
PointOfSegment const &  seg2,
crossings &  state 
)
static
template<typename Point , typename PointOfSegment = Point, typename CalculationType = void>
static int boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::result ( crossings 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