public class Vertex
extends java.lang.Object
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.Modifier and Type | Field and Description |
---|---|
static int |
BEHIND |
static int |
BETWEEN |
static int |
BEYOND |
static int |
DESTINATION |
static int |
LEFT |
static int |
ORIGIN |
static int |
RIGHT |
Constructor and Description |
---|
Vertex(Coordinate _p) |
Vertex(double _x,
double _y) |
Vertex(double _x,
double _y,
double _z) |
Modifier and Type | Method and Description |
---|---|
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() |
boolean |
inCircle(Vertex a,
Vertex b,
Vertex c)
Tests if this is inside the circle defined by the points a, b, c.
|
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 |
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() |
public static final int LEFT
public static final int RIGHT
public static final int BEYOND
public static final int BEHIND
public static final int BETWEEN
public static final int ORIGIN
public static final int DESTINATION
public Vertex(double _x, double _y)
public Vertex(double _x, double _y, double _z)
public Vertex(Coordinate _p)
public double getX()
public double getY()
public double getZ()
public void setZ(double _z)
public Coordinate getCoordinate()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(Vertex _x)
public boolean equals(Vertex _x, double tolerance)
public final boolean inCircle(Vertex a, Vertex b, Vertex c)
a
- b
- c
- public final boolean isCCW(Vertex b, Vertex c)
b
- a vertexc
- a vertexpublic final boolean rightOf(QuadEdge e)
public final boolean leftOf(QuadEdge e)
public double circumRadiusRatio(Vertex b, Vertex c)
b
- second vertex of the trianglec
- third vertex of the trianglepublic Vertex midPoint(Vertex a)
a
- the other end point.public Vertex circleCenter(Vertex b, Vertex c)
b
- c
- public double interpolateZValue(Vertex v0, Vertex v1, Vertex v2)
public static double interpolateZ(Coordinate p, Coordinate v0, Coordinate v1, Coordinate v2)
public static double interpolateZ(Coordinate p, Coordinate p0, Coordinate p1)
p
- p0
- p1
-