code: @Pure
  	public static double distanceLinfSegmentPoint(
  			double sx1, double sy1, double sz1, double sx2, double sy2, double sz2,
  			double px, double py, double pz) {
  		double ratio = getPointProjectionFactorOnSegmentLine(px, py, pz, sx1, sy1, sz1, sx2, sy2, sz2);
  
  		if (ratio <= 0.)
  			return FunctionalPoint3D.distanceLinfPointPoint(px, py, pz, sx1, sy1, sz1);
  
  		if (ratio >= 1.)
  			return FunctionalPoint3D.distanceLinfPointPoint(px, py, pz, sx2, sy2, sz2);
  
  		return FunctionalPoint3D.distanceLinfPointPoint(
  				px, py, pz,
  				(1. - ratio) * sx1 + ratio * sx2,
  				(1. - ratio) * sy1 + ratio * sy2,
  				(1. - ratio) * sz1 + ratio * sz2);
  	}
docs: Computes the L-infinite distance between a segment and
  a point.  The L-infinite distance is equal to
  MAX[abs(x1-x2), abs(y1-y2)].
  
  @param sx1
  is the X coord of the first point of the segment
  @param sy1
  is the Y coord of the first point of the segment
  @param sz1
  is the Z coord of the first point of the segment
  @param sx2
  is the X coord of the second point of the segment
  @param sy2
  is the Y coord of the second point of the segment
  @param sz2
  is the Z coord of the second point of the segment
  @param px
  is the X coord of the point
  @param py
  is the Y coord of the point
  @param pz
  is the Z coord of the point
  @return the distance