Re: contouring 3D polyData object not giving isosurface
Bill Lorensen <[email protected]> Wed, 6 Feb 2019 09:23:07 -0800
| Newsgroups | gmane.comp.lib.vtk.user |
|---|---|
| Message-ID | <CADZJ4hNLyGP8WcuwFwpMTc7+C1XDS6hvHvhD+tVhzq-N=9g1Xg@mail.gmail.com> |
Run contour on the unstructured grid. Geometry filter will just produce polydata on the external surface. Bill On Wed, Feb 6, 2019 at 7:53 AM frmunoz <[email protected]> wrote: > > hi, > > I have problems when doing contours on a PolyData object, my input data > comes from a .vtu files which have Unstructured Grid, so this is what i've > done: > - transform the UnstructuredGrid to PolyData > - do pointsValues().SetScalars using one Attribute from the Unstructured > Grid (i've checked that is a point data attribute) as vtkDoubleArray. > - do contour using this poly data, choose the contours and update > - then create the mapper, actor and rederer to visualize. > > and i get a contour line which correspond to the border of the isosurface > (checked with paraview) but inside the contour line, where the surface > should be, there is nothing. > > I'm using windows 10 and i've isntalled vtk using anaconda, cannot upload > the file since is too big, but in code what im doing is: > > # read file > reader = vtk.vtkXMLUnstructuredGridReader() > reader.SetFileName(file_name) > reader.Update() > > # transform to poly > geo = vtk.vtkGeometryFilter() > geo.SetInputConnection(reader.GetOutputPort()) > geo.Update() > poly = geo.GetOutput() > > # set desired scalar on poly data > attr = poly.GetAttributes(0).GetArray(1) # desired attr > poly.GetPointData().SetScalars(attr) > > # get contour poly data > contour = vtk.vtkContourFilter() > contour.SetInputData(poly) > contour.SetValue(0, 0) > contour.Update() > > # mapper > mapper = vtk.vtkPolyDataMapper() > mapper.SetInputData(contour.GetOutput()) > mapper.ScalarVisibilityOff() > > # actor > actor = vtk.vtkActor() > actor.SetMapper(mapper) > > # renderer > renderer = vtk.vtkRenderer() > render_window = vtk.vtkRenderWindow() > render_window.AddRenderer(renderer) > interactor = vtk.vtkRenderWindowInteractor() > interactor.SetRenderWindow(render_window) > > renderer.AddActor(actor) > renderer.SetBackground(.3, .6, .3) # green > > render_window.SetSize(600, 600) > render_window.Render() > interactor.Initialize() > interactor.Start() > > i'll insert an image of the result i'm seeing. > <http://vtk.1045678.n5.nabble.com/file/t342690/contour.png> > > > P.D.1 if you wonder why im not just using the UnstructuredGrid to do the > contour it's because didn't work, but really dont know what was the problem. > > Thanks > > > > > -- > Sent from: http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > https://vtk.org/mailman/listinfo/vtkusers -- Unpaid intern in BillsParadise at noware dot com _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: https://vtk.org/mailman/listinfo/vtkusers