<div>This works well thanks</div><div><br></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ 原始邮件 ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>发件人:</b> "kenichiro yoshimi"<rccm.kyoshimi@gmail.com>; </div><div><b>发送时间:</b> 2018年7月14日(星期六) 晚上7:19</div><div><b>收件人:</b> "舞法舞天"<278124177@qq.com>; </div><div><b >抄送:</b> "vtkusers"<vtkusers@vtk.org>; </div><div><b>主题:</b> Re: [vtkusers] How to change the points in a polydata</div></div><div><br></div>Hi 舞法舞天,<br><br>If written as follows, this will work well.<br>---<br>  vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();<br>  points->ShallowCopy(data->GetPoints());<br>  for (int i = 0; i < n; i++)<br>  {<br>    double *p = points->GetPoint(i);<br>    p[2] = 0;<br>    points->SetPoint(i, p);<br>  }<br>---<br><br>Best<br>2018年7月14日(土) 15:41 舞法舞天 <<a href="mailto:278124177@qq.com" rel="noopener" target="_blank">278124177@qq<wbr>.com</a>>:<br>><br>> Hello.<br>>        I read a ply file and want to change its' points' postion, but the code below doesn't work , how can i do?<br>>       vtkSmartPointer<vtkPLYReader> reader = vtkSmartPointer<vtkPLYReader>::New();<br>> reader->SetFileName("d:\\plane.ply");<br>> reader->Update();<br>> vtkPolyData* data = reader->GetOutput();<br>> int n = data->GetNumberOfPoints();<br>> vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();<br>> points->DeepCopy(data->GetPoints());<br>> for (int i = 0; i < n; i++)<br>> {<br>> double *p = points->GetPoint(i);<br>> p[2] = 0;<br>> }<br>>        vtkSmartPointer<vtkSimplePointsWriter>writer = vtkSmartPointer<vtkSimplePointsWriter>::New();<br>> writer->SetInputData(data);<br>> writer->SetFileName("d:\\abc.txt");<br>> writer->Update();<br>> vtkSmartPointer<vtkPolyDataMapper> mapper =<br>> vtkSmartPointer<vtkPolyDataMapper>::New();<br>> mapper->SetInputData(data);<br>> mapper->Update();<br>> vtkSmartPointer<vtkActor> actor =<br>> vtkSmartPointer<vtkActor>::New();<br>> actor->SetMapper(mapper);<br>> //actor->GetProperty()->SetRepresentationToWireframe();<br>> vtkSmartPointer<vtkRenderer> renderer =<br>> vtkSmartPointer<vtkRenderer>::New();<br>> renderer->AddActor(actor);<br>> vtkSmartPointer<vtkRenderWindow> window =<br>> vtkSmartPointer<vtkRenderWindow>::New();<br>> window->AddRenderer(renderer);<br>> vtkSmartPointer<vtkRenderWindowInteractor> interactor =<br>> vtkSmartPointer<vtkRenderWindowInteractor>::New();<br>> interactor->SetRenderWindow(window);<br>><br>><br>> _______________________________________________<br>> Powered by <a href="http://www.kitware.com" rel="noopener" target="_blank">www.kitware.<wbr>com</a><br>><br>> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noopener" target="_blank">http://www.k<wbr>itware.com/o<wbr>pensource/op<wbr>ensource.htm<wbr>l</a><br>><br>> Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noopener" target="_blank">http://www.v<wbr>tk.org/Wiki/<wbr>VTK_FAQ</a><br>><br>> Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noopener" target="_blank">http://markm<wbr>ail.org/sear<wbr>ch/?q=vtkuse<wbr>rs</a><br>><br>> Follow this link to subscribe/unsubscribe:<br>> <a href="https://public.kitware.com/mailman/listinfo/vtkusers" rel="noopener" target="_blank">https://publ<wbr>ic.kitware.c<wbr>om/mailman/l<wbr>istinfo/vtku<wbr>sers</a><br><style type="text/css">.qmbox style, .qmbox script, .qmbox head, .qmbox link, .qmbox meta {display: none !important;}</style>