public class NaturalNeighborInterpolator extends Object implements IInterpolatorOverTin
Constructor and Description |
---|
NaturalNeighborInterpolator(IIncrementalTin tin)
Construct an interpolator that operates on the specified TIN.
|
Modifier and Type | Method and Description |
---|---|
void |
clearDiagnostics()
Clears any diagnostic information accumulated during processing.
|
double |
getBarycentricCoordinateDeviation()
Gets the deviation of the computed equivalent of the input query (x,y)
coordinates based on barycentric coordinates.
|
double[] |
getBarycentricCoordinates(List<IQuadEdge> polygon,
double x,
double y)
Given a reference point inside a simple, but potentially non-convex
polygon, creates an array of barycentric coordinates for the point.
|
List<IQuadEdge> |
getBowyerWatsonEnvelope(double x,
double y)
Gets a list of edges for the polygonal cavity that would be created
as part of the Bowyer-Watson insertion algorithm.
|
String |
getMethod()
Gets a string describing the interpolation method
that can be used for labeling graphs and printouts.
|
double[] |
getSurfaceNormal()
Note implemented at this time.
|
double |
interpolate(double x,
double y,
IVertexValuator valuator)
Perform interpolation using Sibson's C0 method.
|
boolean |
isSurfaceNormalSupported()
Indicates whether the interpolation class supports the computation
of surface normals through the getUnitNormal() method.
|
void |
printDiagnostics(PrintStream ps)
Prints a set of diagnostic information describing the operations
used to interpolate points.
|
void |
resetForChangeToTin()
Used by an application to reset the state data within the interpolator
when the content of the TIN may have changed.
|
public NaturalNeighborInterpolator(IIncrementalTin tin)
tin
- a valid instance of an incremental TIN.public void resetForChangeToTin()
resetForChangeToTin
in interface IProcessUsingTin
public double interpolate(double x, double y, IVertexValuator valuator)
The domain of the interpolator is limited to the interior of the convex hull. Methods for extending to the edge of the TIN or beyond are being investigated.
The interpolation is treated as undefined at points that lie directly on a constrained edge.
interpolate
in interface IInterpolatorOverTin
x
- the x coordinate for the interpolation pointy
- the y coordinate for the interpolation pointvaluator
- a valid valuator for interpreting the z value of each
vertex or a null value to use the default.public double getBarycentricCoordinateDeviation()
public List<IQuadEdge> getBowyerWatsonEnvelope(double x, double y)
x
- A Cartesian coordinate in the coordinate system used for the TINy
- A Cartesian coordinate in the coordinate system used for the TINpublic String getMethod()
IInterpolatorOverTin
getMethod
in interface IInterpolatorOverTin
public boolean isSurfaceNormalSupported()
IInterpolatorOverTin
isSurfaceNormalSupported
in interface IInterpolatorOverTin
public double[] getSurfaceNormal()
getSurfaceNormal
in interface IInterpolatorOverTin
public double[] getBarycentricCoordinates(List<IQuadEdge> polygon, double x, double y)
polygon
- list of edges defining a non-self-intersecting,
potentially non-convex polygon.x
- the x coordinate of the reference pointy
- the y coordinate of the reference pointpublic void printDiagnostics(PrintStream ps)
ps
- a valid print stream such as System.out.public void clearDiagnostics()
Copyright © 2021. All rights reserved.