2008-11-14 22:40:31 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: polygon_test_point_inside.h
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2010-09-20 16:21:47 +00:00
|
|
|
#ifndef __WXWINDOWS__
|
|
|
|
// define here wxPoint if we want to compile outside wxWidgets
|
|
|
|
class wxPoint
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
int x, y;
|
|
|
|
};
|
|
|
|
#endif
|
2008-11-14 22:40:31 +00:00
|
|
|
/** Function TestPointInsidePolygon
|
|
|
|
* test if a point is inside or outside a polygon.
|
|
|
|
* @param aPolysList: the list of polygons
|
2010-09-20 16:21:47 +00:00
|
|
|
* @param aIdxstart: the starting point of a given polygon in m_FilledPolysList.
|
|
|
|
* @param aIdxend: the ending point of the polygon in m_FilledPolysList.
|
|
|
|
* @param aRefx, aRefy: the point coordinate to test
|
2008-11-14 22:40:31 +00:00
|
|
|
* @return true if the point is inside, false for outside
|
|
|
|
*/
|
|
|
|
bool TestPointInsidePolygon( std::vector <CPolyPt> aPolysList,
|
2010-09-20 16:21:47 +00:00
|
|
|
int aIdxstart,
|
|
|
|
int aIdxend,
|
|
|
|
int aRefx,
|
|
|
|
int aRefy);
|
|
|
|
/** Function TestPointInsidePolygon (overlaid)
|
|
|
|
* same as previous, but mainly use wxPoint
|
|
|
|
* @param aPolysList: the list of polygons
|
|
|
|
* @param aCount: corners count in aPolysList.
|
|
|
|
* @param aRefPoint: the point coordinate to test
|
|
|
|
* @return true if the point is inside, false for outside
|
|
|
|
*/
|
|
|
|
bool TestPointInsidePolygon( wxPoint* aPolysList,
|
|
|
|
int aCount,
|
|
|
|
wxPoint aRefPoint );
|