JTS Topology Suite version 1.12

```java.lang.Object
```
Direct Known Subclasses:
ConstraintVertex

`public class Vertexextends java.lang.Object`

Models a site (node) in a `QuadEdgeSubdivision`. The sites can be points on a lineString representing a linear site. The vertex can be considered as a vector with a norm, length, inner product, cross product, etc. Additionally, point relations (e.g., is a point to the left of a line, the circle defined by this point and two others, etc.) are also defined in this class.

Author:
David Skea, Martin Davis

Field Summary
`static int` `BEHIND`

`static int` `BETWEEN`

`static int` `BEYOND`

`static int` `DESTINATION`

`static int` `LEFT`

`static int` `ORIGIN`

`static int` `RIGHT`

Constructor Summary
`Vertex(Coordinate _p)`

```Vertex(double _x, double _y)```

```Vertex(double _x, double _y, double _z)```

Method Summary
` Vertex` ```circleCenter(Vertex b, Vertex c)```
Computes the centre of the circumcircle of this vertex and two others.
` double` ```circumRadiusRatio(Vertex b, Vertex c)```
Computes the value of the ratio of the circumradius to shortest edge.
` int` ```classify(Vertex p0, Vertex p1)```

` boolean` `equals(Vertex _x)`

` boolean` ```equals(Vertex _x, double tolerance)```

` Coordinate` `getCoordinate()`

` double` `getX()`

` double` `getY()`

` double` `getZ()`

`static double` ```interpolateZ(Coordinate p, Coordinate p0, Coordinate p1)```
Computes the interpolated Z-value for a point p lying on the segment p0-p1
`static double` ```interpolateZ(Coordinate p, Coordinate v0, Coordinate v1, Coordinate v2)```
Interpolates the Z value of a point enclosed in a 3D triangle.
` double` ```interpolateZValue(Vertex v0, Vertex v1, Vertex v2)```
For this vertex enclosed in a triangle defined by three verticies v0, v1 and v2, interpolate a z value from the surrounding vertices.
` boolean` ```isCCW(Vertex b, Vertex c)```
Tests whether the triangle formed by this vertex and two other vertices is in CCW orientation.
` boolean` ```isInCircle(Vertex a, Vertex b, Vertex c)```
Tests if the vertex is inside the circle defined by the triangle with vertices a, b, c (oriented counter-clockwise).
` boolean` `leftOf(QuadEdge e)`

` Vertex` `midPoint(Vertex a)`
returns a new vertex that is mid-way between this vertex and another end point.
` boolean` `rightOf(QuadEdge e)`

` void` `setZ(double _z)`

` java.lang.String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### LEFT

`public static final int LEFT`
Constant Field Values

### RIGHT

`public static final int RIGHT`
Constant Field Values

### BEYOND

`public static final int BEYOND`
Constant Field Values

### BEHIND

`public static final int BEHIND`
Constant Field Values

### BETWEEN

`public static final int BETWEEN`
Constant Field Values

### ORIGIN

`public static final int ORIGIN`
Constant Field Values

### DESTINATION

`public static final int DESTINATION`
Constant Field Values
Constructor Detail

### Vertex

```public Vertex(double _x,
double _y)```

### Vertex

```public Vertex(double _x,
double _y,
double _z)```

### Vertex

`public Vertex(Coordinate _p)`
Method Detail

### getX

`public double getX()`

### getY

`public double getY()`

### getZ

`public double getZ()`

### setZ

`public void setZ(double _z)`

### getCoordinate

`public Coordinate getCoordinate()`

### toString

`public java.lang.String toString()`
Overrides:
`toString` in class `java.lang.Object`

### equals

`public boolean equals(Vertex _x)`

### equals

```public boolean equals(Vertex _x,
double tolerance)```

### classify

```public int classify(Vertex p0,
Vertex p1)```

### isInCircle

```public boolean isInCircle(Vertex a,
Vertex b,
Vertex c)```
Tests if the vertex is inside the circle defined by the triangle with vertices a, b, c (oriented counter-clockwise).

Parameters:
`a` - a vertex of the triangle
`b` - a vertex of the triangle
`c` - a vertex of the triangle
Returns:
true if this vertex is in the circumcircle of (a,b,c)

### isCCW

```public final boolean isCCW(Vertex b,
Vertex c)```
Tests whether the triangle formed by this vertex and two other vertices is in CCW orientation.

Parameters:
`b` - a vertex
`c` - a vertex

### rightOf

`public final boolean rightOf(QuadEdge e)`

### leftOf

`public final boolean leftOf(QuadEdge e)`

```public double circumRadiusRatio(Vertex b,
Vertex c)```
Computes the value of the ratio of the circumradius to shortest edge. If smaller than some given tolerance B, the associated triangle is considered skinny. For an equal lateral triangle this value is 0.57735. The ratio is related to the minimum triangle angle theta by: circumRadius/shortestEdge = 1/(2sin(theta)).

Parameters:
`b` - second vertex of the triangle
`c` - third vertex of the triangle
Returns:
ratio of circumradius to shortest edge.

### midPoint

`public Vertex midPoint(Vertex a)`
returns a new vertex that is mid-way between this vertex and another end point.

Parameters:
`a` - the other end point.
Returns:
the point mid-way between this and that.

### circleCenter

```public Vertex circleCenter(Vertex b,
Vertex c)```
Computes the centre of the circumcircle of this vertex and two others.

Parameters:
`b` -
`c` -
Returns:
the Coordinate which is the circumcircle of the 3 points.

### interpolateZValue

```public double interpolateZValue(Vertex v0,
Vertex v1,
Vertex v2)```
For this vertex enclosed in a triangle defined by three verticies v0, v1 and v2, interpolate a z value from the surrounding vertices.

### interpolateZ

```public static double interpolateZ(Coordinate p,
Coordinate v0,
Coordinate v1,
Coordinate v2)```
Interpolates the Z value of a point enclosed in a 3D triangle.

### interpolateZ

```public static double interpolateZ(Coordinate p,
Coordinate p0,
Coordinate p1)```
Computes the interpolated Z-value for a point p lying on the segment p0-p1

Parameters:
`p` -
`p0` -
`p1` -
Returns:

JTS Topology Suite version 1.12