pointAboveOrOnLine method

bool pointAboveOrOnLine(
  1. Coordinate pt,
  2. Coordinate left,
  3. Coordinate right
)

Implementation

bool pointAboveOrOnLine(
    JTS.Coordinate pt, JTS.Coordinate left, JTS.Coordinate right) {
  var Ax = left.x;
  var Ay = left.y;
  var Bx = right.x;
  var By = right.y;
  var Cx = pt.x;
  var Cy = pt.y;
  var ABx = Bx - Ax;
  var ABy = By - Ay;
  var AB = math.sqrt(ABx * ABx + ABy * ABy);
  // algebraic distance of 'pt' to ('left', 'right') line is:
  // [ABx * (Cy - Ay) - ABy * (Cx - Ax)] / AB
  return ABx * (Cy - Ay) - ABy * (Cx - Ax) >= -eps * AB;
}