[vtkusers] Can not show points of STL file

David Doria daviddoria+vtk at gmail.com
Mon Jul 5 17:53:40 EDT 2010


On Mon, Jul 5, 2010 at 1:44 PM, Sebastien Jourdain <
sebastien.jourdain at kitware.com> wrote:

> Or create a cell for each point (VTK_VERTEX (=1)) or 1 cell that refer to
> each point (VTK_POLY_VERTEX (=2)) on the polydata.
>
> Something like that...
>
> vtkIdList cell = new vtkIdList();
> cell.SetNumberOfxx(STLPointData.size());
> for(int i=0;i<STLPointData.size();i++) cell.SetId(i,i);
> polyData.InsertNextCell(2,cell); // 2:VTK_POLY_VERTEX
>
> I do not remember exactly the methods names, but you should be able to
> figure that out.
>
> Seb
>
>
>
>
> On Mon, Jul 5, 2010 at 11:43 AM, David E DeMarle <dave.demarle at kitware.com
> > wrote:
>
>> VTK renders cells not points.
>>
>> Try using a glyph filter to create 1 VTK_VERTEX cell for every point.
>>
>> David E DeMarle
>> Kitware, Inc.
>> R&D Engineer
>> 28 Corporate Drive
>> Clifton Park, NY 12065-8662
>> Phone: 518-371-3971 x109
>>
>>
>> On Mon, Jul 5, 2010 at 11:12 AM, Wahyudin Permana <gebe_top at yahoo.com>wrote:
>>
>>>  Dear All,
>>>
>>> I want to show points of STL file, but it doesn.t work, no error, but the
>>> points were not appear.
>>> any suggestion?
>>>
>>> Code:
>>>     STLPointData = new STLReading();
>>>         STLPointData.readSTL(name);  // IMPORTANT: ONLYREAD STL ASCII
>>> FILE
>>>
>>>         vtkPoints points = new vtkPoints();
>>>         vtkPolyData polyData = new vtkPolyData();
>>>         vtkUnstructuredGrid unstructuredGrid = new vtkUnstructuredGrid();
>>>
>>>         int i = 0, j = 0, k = 0;
>>>         int n;
>>>         n = STLPointData.size();
>>>         points.SetNumberOfPoints(n);
>>>         System.out.println("Number of points= "+n);
>>>         for(i=0;i<n;i++){
>>>             double x = 0,y = 0,z = 0;
>>>             //for(j=0;j<3;j++){
>>>             //}
>>>             x=(Double)((Vector)STLPointData.get(i)).get(0);
>>>             y=(Double)((Vector)STLPointData.get(i)).get(1);
>>>             z=(Double)((Vector)STLPointData.get(i)).get(2);
>>>             points.InsertPoint(i, x, y, x);
>>>             System.out.println("X= "+x+", Y= "+y+", Z= "+z);
>>>         }
>>>
>>>         vtkConeSource cone = new vtkConeSource();
>>>
>>>         polyData.SetPoints(points);
>>>         polyData.Squeeze();
>>>         vtkPolyDataMapper mapper = new vtkPolyDataMapper();
>>>         mapper.SetInput(polyData);
>>>         //mapper.SetInput(cone.GetOutput());
>>>
>>>         //unstructuredGrid.SetPoints(points);
>>>         //vtkDataSetMapper dataMapper = new vtkDataSetMapper();
>>>         //dataMapper.SetInput(unstructuredGrid);
>>>         //dataMapper.SetInput(polyData);
>>>
>>>         vtkActor stlActor = new vtkActor();
>>>         vtkProperty property = new vtkProperty();
>>>         property.SetColor(0.3, 0.8, 0.3);
>>>         stlActor.SetMapper(mapper);
>>>         //stlActor.SetMapper(dataMapper);
>>>         stlActor.SetProperty(property);
>>>
>>>         vtkRenderer ren2; //= new vtkRenderer();
>>>         ren2 = renWin2.GetRenderer();
>>>         ren2.AddActor(stlActor);
>>>         ren2.SetBackground(0.1, 0.1, 0.8);
>>>
>>>         ren2.ResetCameraClippingRange();
>>>         ren2.ResetCamera();
>>>
>>>         ren2.Render();
>>>
>>>
>>> thank you
>>>
>>> ============================================================
>>> regards,
>>> Wahyudin Permana
>>> Phone:
>>> Indonesia (Jakarta): +628151871130
>>> Saudi Arabia (Riyadh): +966569143445
>>>
>>
>>
I believe this is what you're looking for:
http://www.cmake.org/Wiki/VTK/Examples/Filters/vtkVertexGlyphFilter
<http://www.cmake.org/Wiki/VTK/Examples/Filters/vtkVertexGlyphFilter>
Thanks,

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100705/e38e6760/attachment.htm>


More information about the vtkusers mailing list