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

## Class PolygonsSet.Edge

- java.lang.Object
- - org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet.Edge

Enclosing class:
  PolygonsSet

    private static class PolygonsSet.Edge
    extends Object

Internal class for holding edges while they are processed to build a BSP tree.

### Field Summary

Fields
`private PolygonsSet.Vertex` `end` End vertex.
`private Line` `line` Line supporting the edge.
`private BSPTree<Euclidean2D>` `node` Node whose cut hyperplane contains this edge.
`private PolygonsSet.Vertex` `start` Start vertex.

### Constructor Summary

Constructors
Constructor and Description
`PolygonsSet.Edge(PolygonsSet.Vertex start, PolygonsSet.Vertex end, Line line)` Build an edge not contained in any node yet.

### Method Summary

Methods
`PolygonsSet.Vertex` `getEnd()` Get end vertex.
`Line` `getLine()` Get the line supporting this edge.
`BSPTree<Euclidean2D>` `getNode()` Get the node whose cut hyperplane contains this edge.
`PolygonsSet.Vertex` `getStart()` Get start vertex.
`void` `setNode(BSPTree<Euclidean2D> node)` Set the node whose cut hyperplane contains this edge.
`PolygonsSet.Vertex` `split(Line splitLine)` Split the edge.

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

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

### Field Detail

#### start

    private final PolygonsSet.Vertex start

Start vertex.

#### end

    private final PolygonsSet.Vertex end

End vertex.

#### line

    private final Line line

Line supporting the edge.

#### node

    private BSPTree<Euclidean2D> node

Node whose cut hyperplane contains this edge.

### Constructor Detail

#### PolygonsSet.Edge

    public PolygonsSet.Edge(PolygonsSet.Vertex start,
                    PolygonsSet.Vertex end,
                    Line line)

Build an edge not contained in any node yet.

Parameters:
  `start` - start vertex
  `end` - end vertex
  `line` - line supporting the edge

### Method Detail

#### getStart

    public PolygonsSet.Vertex getStart()

Get start vertex.

Returns:
  start vertex

#### getEnd

    public PolygonsSet.Vertex getEnd()

Get end vertex.

Returns:
  end vertex

#### getLine

    public Line getLine()

Get the line supporting this edge.

Returns:
  line supporting this edge

#### setNode

    public void setNode(BSPTree<Euclidean2D> node)

Set the node whose cut hyperplane contains this edge.

Parameters:
  `node` - node whose cut hyperplane contains this edge

#### getNode

    public BSPTree<Euclidean2D> getNode()

Get the node whose cut hyperplane contains this edge.

Returns:
  node whose cut hyperplane contains this edge (null if edge has not yet been inserted into the BSP tree)

#### split

    public PolygonsSet.Vertex split(Line splitLine)

Split the edge.

Once split, this edge is not referenced anymore by the vertices, it is replaced by the two half-edges and an intermediate splitting vertex is introduced to connect these two halves.

Parameters:
  `splitLine` - line splitting the edge in two halves
Returns:
  split vertex (its incoming and outgoing edges are the two halves)