[vtkusers] vtkPLYWriter : vertices are not generated in a the PLY file

Cory Quammen cory.quammen at kitware.com
Thu Jan 7 10:58:50 EST 2016


Hi David,

Can you confirm that the PLY file format supports single-vertex cells
like this? My perusal of the PLY documentation didn't reveal anything.

Thanks,
Cory

On Thu, Jan 7, 2016 at 9:55 AM, MOUSSAUD David 244079
<David.MOUSSAUD at cea.fr> wrote:
> Hi all,
>
>
>
> I've got a problem to generate a simple ply file with 4 vertices.
>
> Here how i proceed :
>
>
>
>    // Setup points
>
>     points = vtkSmartPointer<vtkPoints>::New();
>
>
>      // Setup the colors array
>
>     colors = vtkSmartPointer<vtkUnsignedCharArray>::New();
>
>     colors->SetNumberOfComponents(3);
>
>     colors->SetName("Colors");
>
>
>     // create a vertex
>
>     vertex = vtkSmartPointer<vtkVertex>::New();
>
>
>     // list of all the vertices
>
>     vertices= vtkSmartPointer<vtkCellArray>::New();
>
>
>     /* Create a PLY Writer */
>
>     plyWriter = vtkSmartPointer<vtkPLYWriter>::New();
>
>
>     // Create a polydata object and add everything to it
>
>     polydata = vtkSmartPointer<vtkPolyData>::New();
>
>     polydata->SetPoints(points);
>
>     polydata->SetVerts(vertices);
>
>     polydata->GetPointData()->SetScalars(colors);
>
>
>
> Then here how i create my vertices and how i set them :
>
>
>
>     points->Resize(4);
>
>     points->SetPoint(0, 0.0, 0.0, 0.0);
>
>     points->SetPoint(1, 1.0, 0.0, 0.0);
>
>     points->SetPoint(2, 0.0, 1.0, 0.0);
>
>     points->SetPoint(3, 0.0, 0.0, 1.0);
>
>
>     vertices->Initialize();
>
>
>     vertex->GetPointIds()->SetId(0,0);
>
>     vertices->InsertNextCell(vertex);
>
>
>     vertex->GetPointIds()->SetId(0,1);
>
>     vertices->InsertNextCell(vertex);
>
>
>     vertex->GetPointIds()->SetId(0,2);
>
>     vertices->InsertNextCell(vertex);
>
>
>     vertex->GetPointIds()->SetId(0,3);
>
>     vertices->InsertNextCell(vertex);
>
>
>     colors->Initialize();
>
>     colors->InsertNextTuple3(255,0,0);
>
>     colors->InsertNextTuple3(0,255,0);
>
>     colors->InsertNextTuple3(0,0,255);
>
>     colors->InsertNextTuple3(255,255,255);
>
>
>
>        QString plyFilePath = "output.ply";
>
>
>     std::string filename = plyFilePath.toStdString();
>
>     plyWriter->SetFileName(filename.c_str());
>
>
>     plyWriter->SetInputData(polydata);
>
>
>
>     plyWriter->SetColorModeToUniformPointColor();
>
>     plyWriter->SetArrayName("Colors");
>
>     plyWriter->SetFileTypeToASCII();
>
>     plyWriter->Write();
>
>
>
> I've checked that the 4 vertex are well displayed (cf screenshot).
>
>
>
> Unfortunately, my ply file shows 0 vertex.
>
>
>
> ply
> format ascii 1.0
> comment VTK generated PLY File
> obj_info vtkPolyData points and polygons: vtk4.0
> element vertex 0
> property float x
> property float y
> property float z
> property uchar red
> property uchar green
> property uchar blue
> element face 0
> property list uchar int vertex_indices
> end_header
>
>
>
> I'm using vtk 6.3.
>
>
>
> If someone has already meet this problem or know the solution ...
>
>
>
> Thanks for your time,
>
> Best regards,
>
>
>
> David MOUSSAUD.
>
>
> _______________________________________________
> 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:
> http://public.kitware.com/mailman/listinfo/vtkusers
>



-- 
Cory Quammen
R&D Engineer
Kitware, Inc.


More information about the vtkusers mailing list