Hello,<br><br>I want to add a point to the locators input-dataset and this point should be findable to the locator-methods. I construct a little example below with python.<br><br>#!/usr/bin/env python<br>#-*- coding:utf-8 -*-<br>
<br>import vtk<br><br>def _compress_vtk_points(points):<br> vtk_points = vtk.vtkPoints()<br> map(vtk_points.InsertNextPoint, points)<br> <br> return vtk_points<br><br>def main():<br> pts = [<br> [1, 1, 0],<br>
[2.75, 2, 0],<br> [1.5, 3, 0],<br> ]<br> <br> pd_pts = _compress_vtk_points(pts)<br> <br> pd = vtk.vtkPolyData()<br> pd.SetPoints(pd_pts)<br> <br> insert_box = [<br> [0, 0, -5],<br>
[0, 0, 5],<br> <br> [10, 0, -5],<br> [10, 0, 5],<br> <br> [0, 10, -5],<br> [0, 10, 5],<br> <br> [10, 10, -5],<br> [10, 10, 5],<br> ]<br> <br> box_pts = _compress_vtk_points(insert_box)<br>
<br> loc = vtk.vtkPointLocator()<br> loc.SetDataSet(pd)<br> loc.InitPointInsertion(pd_pts, box_pts.GetBounds())<br> loc.BuildLocator()<br><br>if __name__ == '__main__':<br> main()<br><br>I add the following to the end of the main function:<br>
<br> new_pt = pd_pts.InsertNextPoint((8, 8, 1))<br><br> loc.Update()<br><br> found_index = loc.FindClosestPoint((8.5, 8.5, .5))<br><br>The locator should return 3 in found_index, but 1 is returned.<br><br>What I'm doing wrong???<br>
<br>Greetings<br>