closestPointToPointParameter method

double closestPointToPointParameter(
  1. Vector3 point,
  2. bool clampToLine
)

Implementation

double closestPointToPointParameter(Vector3 point, bool clampToLine) {
  final _startP = Vector3.zero();
  final _startEnd = Vector3.zero();
  _startP.sub2(point, start);
  _startEnd.sub2(end, start);

  final startEnd2 = _startEnd.dot(_startEnd);
  final startEndStartP = _startEnd.dot(_startP);

  double t = startEndStartP / startEnd2;

  if (clampToLine) {
    t = max(0, min(1, t));
  }

  return t;
}