[vtkusers] Fwd: Unsure how to use vtkDelaunay3D

David Gobbi david.gobbi at gmail.com
Wed May 27 23:17:06 EDT 2015


Hi Matt,

You've been misled by VTK's rather terse documentation:

  Get the number of elements for a specific attribute type (POINT, CELL,
etc.).

For a mesh, you can call GetNumberOfElements(vtkDataObject::POINT) or you
can call GetNumberOfElements(vtkDataObject::CELL).  Those are the only two
choices.  You can't ask for a particular type of cell, all you can do is
ask it to return the total number of cells.

 - David

On Wed, May 27, 2015 at 5:41 PM, vtk matt <vtkmatt at gmail.com> wrote:

> Hi all,
>
> I have spent the past few days trying to figure out how to use
> vtkDelaunay3D properly and decided I'd better seek out some help.  My goal
> is relatively straight-forward:  Given a set of points in 3D, generate a
> tetrahedral mesh, and use the results to determine which tetrahedron
> contains an arbitrary point.
>
> In its simplest form I am doing the following:
>
> vtkSmartPointer<vtkDelaunay3D> tets =
> vtkSmartPointer<vtkDelaunay3D>::New();
> tets->SetInput(points);
> tets->Update();
> printf("Number of tets: %d\n",
> tets->GetOutput()->GetNumberOfElements(VTK_TETRA));
>
> The output claims there are zero tetrahedrons.  However if I render an
> actor from tets->GetOutput(), I am able to visualize a wireframe surface
> mesh, so I know it's doing something.
>
> So I guess my questions are the following:  Why does the output not
> contain any tetrahedrons?  Why does the mesh only show surface triangles?
> Ultimately what is the proper way to construct a tetrahedral mesh such that
> I can query which tetrahedron contains an arbitrary point?
>
> Thanks.
>
> --Matt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150527/487ba3ee/attachment.html>


More information about the vtkusers mailing list