Test line intersection and point inside polygon. More...
#include <pinside.h>
This is a fast and dirty implementation of the point inside polygon test from Jerome L. Lewis, SIGSCE Bulletin, 34 (2002) 81.
Note that an error in that article ("count-" should have been "count--") has been corrected here.
Classes | |
| struct | line |
| Internal line definition for pinside. More... | |
| struct | point |
| Internal point definition for pinside. More... | |
Public Types | |
| typedef boost::numeric::ublas::vector< double > | ubvector |
Public Member Functions | |
| int | intersect (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) |
| Determine if two line segments intersect. More... | |
| int | inside (double x, double y, const ubvector &xa, const ubvector &ya) |
| Determine if point (x,y) is inside a polygon. More... | |
| template<class vec_t > | |
| int | inside (double x, double y, size_t n, const vec_t &xa, const vec_t &ya) |
| Determine if point (x,y) is inside a polygon. More... | |
| int | test (test_mgr &t) |
| Perform some simple testing. | |
Protected Member Functions | |
| int | intersect (line P, line Q) |
Test if line segments P and Q intersect. | |
| int | inside (point t, point p[], int N) |
Test if point t is inside polygon p of size N. | |
This returns 1 if the point (x,y) is inside the polygon defined by xa and ya, and 0 otherwise.
Note that if the point (x,y) is exactly on the polygon, then the result of this function is not well-defined and it will return either 0 or 1.
|
inline |
This returns 1 if the point (x,y) is inside the polygon defined by xa and ya, and 0 otherwise.
The parameter n should be the number of polygon points specified in vectors xa and ya.
Note that if the point (x,y) is exactly on the polygon, then the result of this function is not well-defined and it will return either 0 or 1.
|
inline |
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).