[vtkusers] vtkContourFilter on 2D Cells (vtkPolygon)

Frederic DANESI fred.danesi at netcourrier.com
Wed Feb 1 11:59:54 EST 2006


Dear, 

Thanks for this helpful remark
 it works now but finally that’s not at all
what I am looking for 


In fact, I would like to find the contour of several polygons 
 just like a
boolean operation of  “union”, so all points of all polygons have the same
scalar value. I was hoping that vtkContour would assume something like this

.

Have you any idea to do this ? 
 

Thanks,

Fred.

 

You're setting the value of all 4 points to "1", and then taking a contour
of 1.  It doesn't intersect anywhere, so I think it's working just right.

Change the scalars to:
  for (int i =0; i <4; i++) scalars->InsertNextValue(i); 

And then you'll have 4 different values.

On 2/1/06, Frederic DANESI <fred.danesi at netcourrier.com > wrote:

Dear vtkusers,

I am trying something that I believe quite simple, but without any success. 

I would like to build some vtkPolygons (2D) and then to use vtkContourFilter
to obtain an isoline (which I assume to match with the boundary of all
polygons together) ...

Even with only one polygon, vtkContourFilter does not do anything 
(vtkContourFilter (09981DD8): Created: 0 points, 0 verts, 0 lines, 0
triangles) ...

I enclosed my code hereafter.

I will really appreciate any idea, tips on what I missed or what I'm doing
wrong, or any code example... 

Thanks,
Fred.

----

vtkPolygon *polygon = vtkPolygon::New();

  polygon->GetPointIds()->SetNumberOfIds(4);
  polygon->GetPointIds()->SetId(0,0);
  polygon->GetPointIds()->SetId(1,1); 
  polygon->GetPointIds()->SetId(2,2);
  polygon->GetPointIds()->SetId(3,3);

  polygon->GetPoints()->SetNumberOfPoints(4);
  polygon->GetPoints()->SetPoint(0, 0.0, 0.0, 0.0);
  polygon->GetPoints()->SetPoint(1, 10.0, 0.0, 0.0);
  polygon->GetPoints()->SetPoint(2, 10.0, 10.0, 0.0);
  polygon->GetPoints()->SetPoint(3, 0.0, 10.0, 0.0);

  vtkIntArray * scalars = vtkIntArray::New();
  scalars->Allocate(5000,10000); 
  for (int i =0; i <4; i++) scalars->InsertNextValue(1);

  vtkPolyData * polygonPolyData = vtkPolyData::New();
  polygonPolyData->Allocate(1,1);
  polygonPolyData->InsertNextCell(polygon->GetCellType(), 
polygon->GetPointIds());
  polygonPolyData->SetPoints(polygon->GetPoints());
  polygonPolyData->GetPointData()->SetScalars(scalars);

  // mapping and rendering "polygonPolyData" ==> OK ... 

  vtkContourFilter * flt = vtkContourFilter ::New();
  flt->SetInput((vtkDataSet *)output);
  flt->DebugOn();
  flt->SetValue(0,1);

  //+ mapping and rendering  ==> vtkContourFilter (09981DD8): Created: 0 
points, 0 verts, 0 lines, 0 triangles ... empty ...

--
Responsable Département DINCCS
(Département Ingénierie Numérique Conception Collaborative et Simulation)
Pole de Haute Technologie
08000 Charleville-Mézières 
Tél. 03.24.37.89.89




_______________________________________________
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




-- 
Randall Hand
Visualization Scientist, 
ERDC-MSRC Vicksburg, MS
Homepage: http://www.yeraze.com 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20060201/63f1e2db/attachment.htm>


More information about the vtkusers mailing list