[vtkusers] Has anyone implemented a method to insert a point into the mesh created by Delaunay2D?

Kevin Wright krw at viz-solutions.com
Mon Oct 15 13:49:02 EDT 2001


> I want to be able to insert and delete a point from the mesh.  I am aware
> that I could just insert a point into the pointset and re-input this into
> Delaunay2D however this would be rather time-consuming (re-triangulating the
> whole mesh) especially if I am working a large pointset (100,000 to upwards
> of 5 million).  I have looked at the source code for Delaunay2D and
> Execute(); but I am not sure as to how to implement a method to
> insert/delete a point?  Does anyone have any ideas?

I've never done this before, but if you're working with a triangular mesh, it should be pretty
easy to do it manually if you're not concerned too much with mesh quality.  To add a point,
just find the element that the point lies in, and split it into three elements using the three
original definition points and the new point.  Deleting is a little more complicated, but if
you get all elements attached to the point to be removed, you could either re-mesh it manually,
or pass the list of points in the elements that are not to be deleted, and pass that into
delaunay to get the new element definitions (you could use the edges from the element
definitions that are not attached to the deleted point as a boundary for delaunay).  All of
this can be done with calls to the polydata ouput of your original delaunay (i.e. FindCell
calls and such).

Hope that's what you were looking for,
Kevin.





More information about the vtkusers mailing list