|
MeVisLab Toolbox Reference
|
Checks whether a point is inside a planar, closed polygon in an arbitrary plane. More...
#include <CSOPointInPolygonChecker.h>
Public Member Functions | |
| CSOPointInPolygonChecker (const CSO *cso) | |
| Sets the polygon based on a CSO. | |
| CSOPointInPolygonChecker (std::vector< Vector3 > &pathPoints, const Vector3 &normal, bool overwritePathPoints=false) | |
| Sets the polygon based on a list of points and a normal. | |
| ~CSOPointInPolygonChecker () | |
| Destructor. | |
| void | set (const CSO *cso) |
| Sets the polygon based on a CSO. | |
| void | set (std::vector< Vector3 > &pathPoints, const Vector3 &normal, bool overwritePathPoints=false) |
| Sets the polygon based on a list of points and a normal. | |
| bool | isPointInsidePolygon (const Vector3 &pos) const |
| Checks whether a specified point is inside the polygon. | |
Checks whether a point is inside a planar, closed polygon in an arbitrary plane.
The algorithm uses a bounding box test and a binning along the y-axis of the line segments. The CSOPointInPolygonChecker is optimized for testing a number of points against the same CSO. If only one point should be tested against a CSO, use the CSOPointInPolygon class.
Definition at line 32 of file CSOPointInPolygonChecker.h.
| ml::CSOPointInPolygonChecker::CSOPointInPolygonChecker | ( | const CSO * | cso | ) |
Sets the polygon based on a CSO.
| ml::CSOPointInPolygonChecker::CSOPointInPolygonChecker | ( | std::vector< Vector3 > & | pathPoints, |
| const Vector3 & | normal, | ||
| bool | overwritePathPoints = false |
||
| ) |
Sets the polygon based on a list of points and a normal.
If overwritePathPoints is true, the specified pathPoints vector will be overwritten by the projected polygon points.
|
inline |
Destructor.
Definition at line 47 of file CSOPointInPolygonChecker.h.
| bool ml::CSOPointInPolygonChecker::isPointInsidePolygon | ( | const Vector3 & | pos | ) | const |
Checks whether a specified point is inside the polygon.
| void ml::CSOPointInPolygonChecker::set | ( | std::vector< Vector3 > & | pathPoints, |
| const Vector3 & | normal, | ||
| bool | overwritePathPoints = false |
||
| ) |
Sets the polygon based on a list of points and a normal.
If overwritePathPoints is true, the specified pathPoints vector will be overwritten by the projected polygon points.