12void Inside(
const std::vector<double>& xpl,
const std::vector<double>& ypl,
13 const double x,
const double y,
bool& inside,
bool& edge);
16double Area(
const std::vector<double>& xp,
const std::vector<double>& yp);
19bool NonTrivial(
const std::vector<double>& xp,
const std::vector<double>& yp);
24 std::vector<double>& zp);
bool NonTrivial(const std::vector< double > &xp, const std::vector< double > &yp)
Check whether a set of points builds a non-trivial polygon.
double Area(const std::vector< double > &xp, const std::vector< double > &yp)
Determine the (signed) area of a polygon.
void EliminateButterflies(std::vector< double > &xp, std::vector< double > &yp, std::vector< double > &zp)
Try to eliminate "butterflies" (crossing of two adjacent segments of a polygon), by point exchanges.
void Inside(const std::vector< double > &xpl, const std::vector< double > &ypl, const double x, const double y, bool &inside, bool &edge)
Determine whether the point (x, y) is located inside of the polygon (xpl, ypl).