I mean vtkDataSetSurfaceFilter (similar to vtkGeometryFilter).<br>At step 3, if i replace it with vtkGeometryFilter, i get only the outer.<br><br>vtkSmoothPolyDataFilter on which cells is applied? hexahedrons?<br><br><br>
<div class="gmail_quote">2009/12/11 David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com">david.gobbi@gmail.com</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">By "vtkDataSurfaceFilter" you mean "vtkGeometryFilter", right?<br><br>And no, the interior hexahedrons are definitely not smoothed. No way<br>
no how. And because of this, some of the inside points might end up<br>on the outside after smoothing, resulting in an invalid data set.<br><br>You need a step 5 which smooths the interior points, based on the<br>connectivity information. Such a filter does not exist in VTK, it<br>
would have to be written.<br><font color="#888888"><br> David<br></font>
<div>
<div></div>
<div class="h5"><br><br>On Fri, Dec 11, 2009 at 9:04 AM, Bill Chivas <<a href="mailto:noo134@googlemail.com">noo134@googlemail.com</a>> wrote:<br>> Thank you both.<br>> I'll try out your suggestions.<br>> By far, i tried the following pipeline:<br>
> 1) UnstructuredGrid<br>> 2) vtkShrinkFilter (so i can see the hexahedrons)<br>> 3) vtkDataSetSurfaceFilter (!)<br>> 4) vtkSmoothPolyDataFilter<br>><br>> I get what i want. I'm not really sure if ALL hexahedrons are smoothed (and<br>
> not only the outer ones).<br>> What do you think?<br>><br>> Thanks,<br>> Bill<br>><br>><br>><br>> 2009/12/11 David Gobbi <<a href="mailto:david.gobbi@gmail.com">david.gobbi@gmail.com</a>><br>
>><br>>> Hmm... if GeometryFilter keeps all the points, then it's possible that<br>>> you could generate a new vtkDataSet that combines the points from the<br>>> smoothed polydata with the cells of your grid. Something like this:<br>
>><br>>> smoothFilter->Update();<br>>> gridProducer->Update();<br>>> vtkDataSet *newdata = vtkDataSet::New();<br>>> newdata->DeepCopy(gridProducer->GetOutput());<br>>> newdata->SetPoints(smoothFilter->GetOutput()->GetPoints());<br>
>><br>>> Note that code like this can crash if the assumptions aren't correct.<br>>> Also, only the outer layer of points will be smoothed, so the<br>>> resulting data object might contain invalid cells. But still, this<br>
>> should give you ideas about how to find a proper solution.<br>>><br>>> David<br>>><br>>><br>>> On Fri, Dec 11, 2009 at 8:40 AM, Bill Chivas <<a href="mailto:noo134@googlemail.com">noo134@googlemail.com</a>><br>
>> wrote:<br>>> > vtkGeometryFilter works fine. I wonder if i could get back to<br>>> > unstructuredGrid and hexahedrons by using the points.<br>>> > I noticed that the number of points are the same in unstructuredGrid and<br>
>> > vtkGeometryFilter (vtkPolyData).<br>>> > Could i "reproduce" the original hexahedron topology?<br>>> ><br>>> > Thanks,<br>>> > Bill<br>>> ><br>>> > 2009/12/11 David Gobbi <<a href="mailto:david.gobbi@gmail.com">david.gobbi@gmail.com</a>><br>
>> >><br>>> >> On Fri, Dec 11, 2009 at 7:11 AM, Bill Chivas <<a href="mailto:noo134@googlemail.com">noo134@googlemail.com</a>><br>>> >> wrote:<br>>> >> > Hello all,<br>
>> >> ><br>>> >> > I would like to use vtkSmoothPolyDataFilter on an unstructuredGrid,<br>>> >> > but<br>>> >> > i<br>>> >> > read the particular filter applies only to vtkPolyData.<br>
>> >> > My unstructuredGrid consists of hexahedrons.<br>>> >> > How could i use the filter?<br>>> >> > One idea i thought is to extract the surface iterately and apply to<br>>> >> > these<br>
>> >> > surfaces, but i don't know if it's ok.<br>>> >><br>>> >> I've seen some people create a "skin" polydata with vtkGeometryFilter,<br>>> >> apply the smoothing to the "skin" and then use a custom filter to<br>
>> >> propagate the smoothing throughout the interior of their mesh. The<br>>> >> vtkGeometryFilter is a basic anything-to-polydata filter, so it is<br>>> >> easy to use. The final step of using the smoothed polydata to create<br>
>> >> a smoothed mesh is nontrivial, though.<br>>> >><br>>> >> David<br>>> ><br>>> ><br>><br>><br></div></div></blockquote></div><br>