Dear all,<br><br>Is there anyone know how to change the color of points with specific point ID?<br><br>I do it like this, but the surface appeared but none of these point is shown.<br><br>Here is the code,<br><br> vtkPoints* newpoints = vtkPoints::New();<br>
for (int i = 0; i < sizeof(landmarks)/sizeof(double); i++)<br> {<br> double temp_point[3];<br> points->GetPoint(vtkIdType(landmarks[i]), temp_point);<br> newpoints->InsertPoint(vtkIdType(i), temp_point[0], temp_point[1], temp_point[2]);<br>
}<br><br> vtkPolyData* newpolydata = vtkPolyData::New();<br> newpolydata->SetPoints(newpoints);<br><br> vtkFloatArray* newarray = vtkFloatArray::New();<br> for (int i = 0; i < sizeof(landmarks)/sizeof(double); i++)<br>
{<br> newarray->InsertTuple1(vtkIdType(i), double(i));<br> }<br><br> newpolydata->GetPointData()->SetScalars(newarray);<br><br> vtkPolyDataMapper* newmapper = vtkPolyDataMapper::New();<br> newmapper->SetInput(newpolydata);<br>
newmapper->SetScalarRange(0, 7);<br> newmapper->SetScalarVisibility(0);<br><br> vtkActor* newactor = vtkActor::New();<br> newactor->SetMapper(newmapper);<br> newactor->GetProperty()->SetColor(0.0, 1.0, 0.0);<br>
newactor->GetProperty()->SetPointSize(3);<br><br> ren->AddActor(newactor);<br> renWin->AddRenderer(ren);<br><br> ren->Render();<br> renWin->Render();<br><br>where 'ren' is a vtkRenderer object, ‘renWin’ is a vtkRenderWindow object, and 'landmarks' is an array stores vtk point IDs.<br>
<br>Can anybody help me with this? I'll be very grateful.<br><br>Thank you all so much.<br><br>Bests<br>Wenlong<br>