Maven module :un.api : api-geometry :
Class : un.impl.geometry.operation.Distance
Extends/Implements : un.impl.geometry.operation.AbstractBinaryOperation
Subclasses : -

author  Johann Sorel


Variables : NAME
Functions : Distance, getName, distance, distance, distanceSquare, distanceSquare, distance, distance, distanceSquare, distanceSquare, distance, distance, distanceSquare, distanceSquare, distanceSquare, distance, distance, distanceSquareSegmentTriangle, rectilinearDistance, rectilinearDistance


public Chars NAME


public void Distance (Geometry first, Geometry second)

public Chars getName ()


Calculate distance between two points.
param  p1 first point
param  p2 second point
return  double , distance
public double distance (Tuple p1, Tuple p2)


Calculate distance between two points.
param  p1 first point
param  p2 second point
return  double , distance
public double distance (double[] p1, double[] p2)


Calculate square distance between two points.
param  p1 first point
param  p2 second point
return  double , distance
public double distanceSquare (Tuple p1, Tuple p2)


Calculate square distance between two points.
param  p1 first point
param  p2 second point
return  double , distance
public double distanceSquare (double[] p1, double[] p2)


Calculate distance between a segment and a point.
param  segmentStart line segment start
param  segmentEnd lien segment end
param  point position
return  double , square distance
public double distance (Tuple segmentStart, Tuple segmentEnd, Tuple point)


Calculate distance between a segment and a point.
param  segmentStart line segment start
param  segmentEnd lien segment end
param  point position
return  double , square distance
public double distance (double[] segmentStart, double[] segmentEnd, double[] point)


Calculate square distance between a segment and a point.
param  segmentStart line segment start
param  segmentEnd lien segment end
param  point position
return  double , square distance
public double distanceSquare (Tuple segmentStart, Tuple segmentEnd, Tuple point)


Calculate square distance between a segment and a point.
param  segmentStart line segment start
param  segmentEnd lien segment end
param  point position
return  double , square distance
public double distanceSquare (double[] segmentStart, double[] segmentEnd, double[] point)


Calculate distance between two line segments.
param  line1Start line 1 start point
param  line1End line 1 start point
param  buffer1 closest point on line 1
param  line2Start line 1 start point
param  line2End line 1 start point
param  buffer2 closest point on line 2
param  ratio size 2 , for each line,
ratio [0..1] of the closest point position between start and end points.
return  distance
public double distance (Tuple line1Start, Tuple line1End, Tuple buffer1, Tuple line2Start, Tuple line2End, Tuple buffer2, double[] ratio, double epsilon)


Calculate distance between two line segments.

Adapted from book : Real-TimeCollision Detection by Christer Ericson
(ClosestPtSegmentSegment p.149)

@param line1Start line 1 start point
@param line1End line 1 start point
@param buffer1 closest point on line 1
@param line2Start line 1 start point
@param line2End line 1 start point
@param buffer2 closest point on line 2
@param ratio size 2 , for each line,
ratio [0..1] of the closest point position between start and end points.
@param epsilon tolerance
@return distance
public double distance (double[] line1Start, double[] line1End, double[] buffer1, double[] line2Start, double[] line2End, double[] buffer2, double[] ratio, double epsilon)


Calculate square distance between two line segments.
param  line1Start line 1 start point
param  line1End line 1 start point
param  buffer1 closest point on line 1
param  line2Start line 1 start point
param  line2End line 1 start point
param  buffer2 closest point on line 2
param  ratio size 2 , for each line,
ratio [0..1] of the closest point position between start and end points.
return  distance
public double distanceSquare (Tuple line1Start, Tuple line1End, Tuple buffer1, Tuple line2Start, Tuple line2End, Tuple buffer2, double[] ratio, double epsilon)


Calculate square distance between two line segments.

Adapted from book : Real-TimeCollision Detection by Christer Ericson
(ClosestPtSegmentSegment p.149)

@param line1Start line 1 start point
@param line1End line 1 start point
@param buffer1 closest point on line 1
@param line2Start line 1 start point
@param line2End line 1 start point
@param buffer2 closest point on line 2
@param ratio size 2 , for each line,
ratio [0..1] of the closest point position between start and end points.
@param epsilon tolerance
@return distance
public double distanceSquare (double[] line1Start, double[] line1End, double[] buffer1, double[] line2Start, double[] line2End, double[] buffer2, double[] ratio, double epsilon)


Calculate square distance between line and point segments.

Adapted from book : Real-TimeCollision Detection by Christer Ericson
(ClosestPtSegmentSegment p.149)

@param line1Start line 1 start point
@param line1End line 1 start point
@param buffer1 closest point on line 1
@param point
@param ratio size 1, for line,
ratio [0..1] of the closest point position between start and end points.
@param epsilon tolerance
@return distance
public double distanceSquare (double[] line1Start, double[] line1End, double[] buffer1, double[] point, double[] ratio, double epsilon)

public double distance (Tuple a, Plane b)

public double distance (Tuple a, Sheet b)

public double distanceSquareSegmentTriangle (double[] segmentStart, double[] segmentEnd, double[] buffer1, double[] t0, double[] t1, double[] t2, double[] buffer2, double epsilon)


Calculate rectilinear distance between two tuples.
https://en.wikipedia.org/wiki/Rectilinear_distance
param  p1 first point
param  p2 second point
return  double , rectilinear distance
public double rectilinearDistance (Tuple p1, Tuple p2)


Calculate rectilinear distance between two points.
https://en.wikipedia.org/wiki/Rectilinear_distance
param  p1 first point
param  p2 second point
return  double , rectilinear distance
public double rectilinearDistance (double[] p1, double[] p2)