Hi, my ply file like this
ply
format ascii 1.0
element vertex 1722844
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
-348.008 -316.75 1434.08 40 64 34
-148.82 -302.887 1409.34 49 80 56
-144.013 -299.44 1393.3 47 78 60
-98.4511 -229.519 1067.96 48 75 59
I use vtkPolyData and vtkPLYReader to read file and show
vtkSmartPointer<vtkPolyData> polyData= vtkSmartPointer<vtkPolyData>::New();
auto reader = vtkSmartPointer<vtkPLYReader>::New();
reader->SetFileName ("my.ply");
polyData = reader->GetOutput();
// Visualization
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputData(polyData);
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
actor->GetProperty()->SetPointSize(1);
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
renderer->AddActor(actor);
renderer->SetBackground(namedColors->GetColor3d("Burlywood").GetData());
renderWindow->Render();
renderWindowInteractor->Start();
I knew I can set
polyData->GetPointData()->SetScalars(colors)
to colored points. But how can I get each points’ rgb values by polyData?