Package org.apache.commons.math3.geometry.euclidean.twod

# Class Segment

java.lang.Object
org.apache.commons.math3.geometry.euclidean.twod.Segment

public class Segment extends Object
Simple container for a two-points segment.

Since:
  3.0

## Constructor Summary

Constructors
Constructor
Description
`Segment(Vector2D start, Vector2D end, Line line)`
Build a segment.

## Method Summary

Modifier and Type
Method
Description
`double`
`distance(Vector2D p)`
Calculates the shortest distance from a point to this line segment.
`Vector2D`
`getEnd()`
Get the end point of the segment.
`Line`
`getLine()`
Get the line containing the segment.
`Vector2D`
`getStart()`
Get the start point of the segment.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Segment

public Segment(Vector2D start, Vector2D end, Line line)
Build a segment.

Parameters:
  `start` - start point of the segment
  `end` - end point of the segment
  `line` - line containing the segment

## Method Details

### getStart

public Vector2D getStart()
Get the start point of the segment.

Returns:
  start point of the segment

### getEnd

public Vector2D getEnd()
Get the end point of the segment.

Returns:
  end point of the segment

### getLine

public Line getLine()
Get the line containing the segment.

Returns:
  line containing the segment

### distance

public double distance(Vector2D p)
Calculates the shortest distance from a point to this line segment.

If the perpendicular extension from the point to the line does not cross in the bounds of the line segment, the shortest distance to the two end points will be returned.

Algorithm adapted from: Thread @ Codeguru

Parameters:
  `p` - to check
Returns:
  distance between the instance and the point
Since:
  3.1