-
-
Notifications
You must be signed in to change notification settings - Fork 94
Description
I am generating a mesh from scatter data and then interpolating on to another set of data points.
private float[] GetInterpolatedData(double[] x, double[] y, float[] data, double[,] xy)
{
var points = new List();
for (var i = 0; i < data.Length; i++)
{
points.Add(new Vertex3(x[i], y[i], (double)data[i]));
}
var mesher = new GenericMesher(new Dwyer());
var mesh = (TriangleNet.Mesh)mesher.Triangulate(points);
var triangleQuadTree = new TriangleQuadTree(mesh);
var outData = new float[xy.GetLength(0)];
for (var i = 0; i < xy.GetLength(0); i++)
{
var tri = triangleQuadTree.Query(xy[i, 0], xy[i, 1]);
if (tri != null)
{
var vert = new Vertex3(xy[i, 0], xy[i, 1], double.NaN);
InterpolateAttributes(vert, tri);
outData[i] = (float)vert.Z;
}
else
{
outData[i] = float.NaN;
}
}
return outData;
}
The x and y coordinates of the mesh will remain constant but "data" will change. Can I change the data in the mesh without re-meshing and re-running TriangleQuadTree?