Difference between revisions of "VTK/Examples/Cxx/PolyData/CellLocator"

From KitwarePublic
< VTK‎ | Examples‎ | Cxx
Jump to: navigation, search
 
Line 1: Line 1:
This example creates a sphere and then finds the closest point on the sphere to a test point.
+
= '''See [https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/CellLocator CellLocator] on the new [https://lorensen.github.io/VTKExamples/site/ VTKExamples website].''' =
 
 
==CellLocator.cxx==
 
<source lang="cpp">
 
#include <vtkSmartPointer.h>
 
#include <vtkSphereSource.h>
 
#include <vtkCellLocator.h>
 
 
 
int main(int, char *[])
 
{
 
  vtkSmartPointer<vtkSphereSource> sphereSource =
 
    vtkSmartPointer<vtkSphereSource>::New();
 
  sphereSource->Update();
 
 
 
  // Create the tree
 
  vtkSmartPointer<vtkCellLocator> cellLocator =
 
    vtkSmartPointer<vtkCellLocator>::New();
 
  cellLocator->SetDataSet(sphereSource->GetOutput());
 
  cellLocator->BuildLocator();
 
 
 
  double testPoint[3] = {2.0, 0.0, 0.0};
 
 
 
  //Find the closest points to TestPoint
 
  double closestPoint[3];//the coordinates of the closest point will be returned here
 
  double closestPointDist2; //the squared distance to the closest point will be returned here
 
  vtkIdType cellId; //the cell id of the cell containing the closest point will be returned here
 
  int subId; //this is rarely used (in triangle strips only, I believe)
 
  cellLocator->FindClosestPoint(testPoint, closestPoint, cellId, subId, closestPointDist2);
 
 
 
  std::cout << "Coordinates of closest point: " << closestPoint[0] << " " << closestPoint[1] << " " << closestPoint[2] << std::endl;
 
  std::cout << "Squared distance to closest point: " << closestPointDist2 << std::endl;
 
  std::cout << "CellId: " << cellId << std::endl;
 
 
 
  return EXIT_SUCCESS;
 
}
 
 
 
</source>
 
 
 
{{VTKCMakeLists|{{SUBPAGENAME}}}}
 
 
 
Color query point and points found to be neighbors.
 
[[Category:VTKAddVisualization]]
 

Latest revision as of 16:15, 9 September 2019

See CellLocator on the new VTKExamples website.