Hello.<div>       I read a ply file and want to change its' points' postion, but the code below doesn't work , how can i do?</div><div><div>      vtkSmartPointer<vtkPLYReader> reader = vtkSmartPointer<vtkPLYReader>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>reader->SetFileName("d:\\plane.ply");</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>reader->Update();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>vtkPolyData* data = reader->GetOutput();</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>int n = data->GetNumberOfPoints();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>points->DeepCopy(data->GetPoints());</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>for (int i = 0; i < n; i++)</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>double *p = points->GetPoint(i);</div><div><span class="Apple-tab-span" style="white-space:pre">          </span>p[2] = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>}</div></div><div><div>       vtkSmartPointer<vtkSimplePointsWriter>writer = vtkSmartPointer<vtkSimplePointsWriter>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>writer->SetInputData(data);</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>writer->SetFileName("d:\\abc.txt");</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>writer->Update();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>vtkSmartPointer<vtkPolyDataMapper> mapper =</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>vtkSmartPointer<vtkPolyDataMapper>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>mapper->SetInputData(data);</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>mapper->Update();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>vtkSmartPointer<vtkActor> actor =</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>vtkSmartPointer<vtkActor>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>actor->SetMapper(mapper);</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>//actor->GetProperty()->SetRepresentationToWireframe();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkRenderer> renderer =</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>vtkSmartPointer<vtkRenderer>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>renderer->AddActor(actor);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkRenderWindow> window =</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>vtkSmartPointer<vtkRenderWindow>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>window->AddRenderer(renderer);</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>vtkSmartPointer<vtkRenderWindowInteractor> interactor =</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>vtkSmartPointer<vtkRenderWindowInteractor>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>interactor->SetRenderWindow(window);</div></div><div><br></div><div><br></div>