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

From KitwarePublic
< VTK‎ | Examples‎ | Cxx
Jump to navigationJump to 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].''' =
<source lang="cpp">
#include <vtkSmartPointer.h>
#include <vtkSphereSource.h>
#include <vtkCellLocator.h>
int main(int, char *[])
  vtkSmartPointer<vtkSphereSource> sphereSource =
  // Create the tree
  vtkSmartPointer<vtkCellLocator> cellLocator =
  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;
Color query point and points found to be neighbors.

Latest revision as of 15:15, 9 September 2019