[vtkusers] simple question vtkCleanPolyData

Janet Kim janet at dragonflyesque.com
Tue Apr 18 18:05:42 EDT 2006


I just reopened this bug and added a dataset (just my
.vtk data file as well as my .vtk data file that had
been cleaned, correct?)

In the meanwhile, is there a simple way to update both
scalar values and vtkPolyData from vtkCleanPolyData?  Or
some other method?


On Tue, 18 Apr 2006, Janet Kim wrote:

> As and addendum to this question - if you are using
> vtkCleanPolyData and have SetScalars to set a vtkFloatArray
> to that polydata, how can you correspondingly clean the
> scalars as well?  When I had tried to clean the poly data,
> I found that my scalars remained the same, and consequently
> were all off.  Is there a way to do this?
>
> janet
>
> On Tue, 18 Apr 2006, Jean-Dominique Barnichon wrote:
>
>> Thanks for the tip Amy,
>> I should be able to get it now.
>> Jean-Do
>> 
>> Amy Squillacote a écrit :
>>> Hi Jean-Do,
>>> 
>>> No, there is not a filter in VTK to only remove duplicate points in a 
>>> dataset with no cells.  One thing you could do is to add a vtkVertex cell 
>>> per point in your dataset.  Then if you pass this new dataset through 
>>> vtkCleanPolyData, duplicate points will be merged, but you won't have the 
>>> problem of points being removed because they are not being used by a cell.
>>> 
>>> - Amy
>>> 
>>> At 02:47 AM 4/18/2006, jeando.barnichon at free.fr wrote:
>>>> Ok, I understand.
>>>> The next question now is :
>>>> Is there a filter that could do the "simple" task of "cleaning" (i.e. 
>>>> removing
>>>> duplicate points) a polydata that is made of points only?
>>>> Jean-Do
>>>> 
>>>> Selon Amy Squillacote <amy.squillacote at kitware.com>:
>>>> 
>>>> > You are right; you do need cells in your vtkPolyData, not just
>>>> > points.  This is because one of the features of vtkCleanPolyData is
>>>> > to remove points that are not used by any cells.  Thus if your data
>>>> > has no cells, then this is true for all the points in your data set,
>>>> > so all of them will be removed, resulting in an empty vtkPolyData data 
>>>> set.
>>>> >
>>>> > - Amy
>>>> >
>>>> > At 05:06 PM 4/17/2006, Janet Kim wrote:
>>>> > >I tried out vtkCleanPolyData and it looked like you
>>>> > >might need actual geometry for the polydata to clean,
>>>> > >not just points.  When I just had points, I had the
>>>> > >same result.  But once I added the points to cells,
>>>> > >the clean worked.  Maybe someone else can explain a
>>>> > >bit better, unless, I'm wrong.
>>>> > >
>>>> > >
>>>> > >On Mon, 17 Apr 2006, Jean-Dominique Barnichon wrote:
>>>> > >
>>>> > >>Should be a simple one.
>>>> > >>I've got a polydata containing only points (see end of email), some
>>>> > >>of which are duplicate points.
>>>> > >>I want to keep only a single point with given coordinates (yes, I
>>>> > >>know that the vtkCleanPolyData filter should do the trick, but I
>>>> > >>just can couldn't get it working so far).
>>>> > >>When I run the piece of code given below, the cleaned polydata is
>>>> > >>empty (i.e. it has 0 points), and I don't understand why.
>>>> > >>Any Idea?
>>>> > >>Jean-Do
>>>> > >>
>>>> > >>Code snippet:
>>>> > >>       vtkPolyDataReader *re = vtkPolyDataReader::New();
>>>> > >>       re->SetFileName("InitialPolydata.vtk");
>>>> > >>
>>>> > >>       vtkPolyData *pdata = vtkPolyData::New();
>>>> > >>       pdata = re->GetOutput();
>>>> > >>
>>>> > >>       // pdata is the vtkPolyData
>>>> > >>       vtkCleanPolyData *Clean = vtkCleanPolyData::New();
>>>> > >>       Clean->SetInput(pdata);
>>>> > >>       Clean->SetTolerance(0.0);
>>>> > >>       Clean->PointMergingOn();
>>>> > >>       Clean->Update();
>>>> > >>
>>>> > >>       vtkPolyDataWriter *wr = vtkPolyDataWriter::New();
>>>> > >>       wr->SetFileName("CleanedPolydata.vtk");
>>>> > >>       wr->SetInput(Clean->GetOutput());
>>>> > >>       wr->Write();
>>>> > >>
>>>> > >>
>>>> > >>//beginning_of_file (InitialPolydata.vtk)
>>>> > >># vtk DataFile Version 3.0
>>>> > >>vtk output
>>>> > >>ASCII
>>>> > >>DATASET POLYDATA
>>>> > >>POINTS 12 float
>>>> > >>3.35936 1.84257 49.9219 6.3551 1.84257 40.9347 17.8945 1.84257 
>>>> 39.9079
>>>> > >>17.8945 1.84257 39.9079 25.3551 1.84257 23.6583 25.3551 1.84257 
>>>> 23.6583
>>>> > >>34.0223 1.84257 20.6629 34.0223 1.84257 20.6629 36.8945 1.84257 
>>>> 20.1843
>>>> > >>45.263 1.84257 1.84257 45.263 1.84257 1.84257 83.3594 1.84257 0
>>>> > >>
>>>> > >>POINT_DATA 12
>>>> > >>//end_of_file
>>>> > >>
>>>> > >>_______________________________________________
>>>> > >>This is the private VTK discussion list. Please keep messages
>>>> > >>on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>> > >>Follow this link to subscribe/unsubscribe:
>>>> > >>http://www.vtk.org/mailman/listinfo/vtkusers
>>>> > >_______________________________________________
>>>> > >This is the private VTK discussion list. Please keep messages
>>>> > >on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>> > >Follow this link to subscribe/unsubscribe:
>>>> > >http://www.vtk.org/mailman/listinfo/vtkusers
>>>> >
>>>> >
>>>> >
>>> 
>>> 
>>> 
>>> 
>> 
>> _______________________________________________
>> This is the private VTK discussion list. Please keep messages on-topic. 
>> Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>


More information about the vtkusers mailing list