Go to the documentation of this file.
43 #ifndef vtkCellLocator_h
44 #define vtkCellLocator_h
49 class vtkNeighborCells;
81 double&
t,
double x[3],
double pcoords[3],
97 double x[3],
double closestPoint[3],
99 int &subId,
double& dist2);
120 double x[3],
double radius,
double closestPoint[3],
122 int &subId,
double& dist2,
int &inside);
138 double pcoords[3],
double *
weights);
153 double p1[3],
double p2[3],
double tolerance,
vtkIdList *cells);
172 int prevMinLevel[3],
int prevMaxLevel[3]);
199 double OctantBounds[6];
202 if ( this->OctantBounds[0]-tol <=
x[0] &&
x[0] <= this->OctantBounds[1]+tol &&
203 this->OctantBounds[2]-tol <=
x[1] &&
x[1] <= this->OctantBounds[3]+tol &&
204 this->OctantBounds[4]-tol <=
x[2] &&
x[2] <= this->OctantBounds[5]+tol )
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent)
virtual void FindCellsWithinBounds(double *bbox, vtkIdList *cells)
int GenerateIndex(int offset, int numDivs, int i, int j, int k, vtkIdType &idx)
virtual int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)
octree-based spatial search object to quickly locate cells
virtual int GetNumberOfBuckets(void)
double Distance2ToBucket(double x[3], int nei[3])
virtual void BuildLocatorIfNeeded()
virtual void BuildLocatorInternal()
double Distance2ToBounds(double x[3], double bounds[6])
virtual void FreeSearchStructure()
#define vtkTypeMacro(thisClass, superclass)
virtual vtkIdType FindCell(double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights)
virtual vtkIdType FindCell(double x[3])
GLint GLint GLint GLint GLint x
void ComputeOctantBounds(int i, int j, int k)
virtual vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2)
void ClearCellHasBeenVisited(int id)
virtual void FindClosestPoint(double x[3], double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2)
virtual void FindCellsAlongLine(double p1[3], double p2[3], double tolerance, vtkIdList *cells)
virtual vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2, int &inside)
virtual void SetNumberOfCellsPerNode(int)
virtual vtkIdList * GetCells(int bucket)
virtual int IntersectWithLine(double a0[3], double a1[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell)
void SetNumberOfCellsPerBucket(int N)
a simple class to control print indentation
object to represent cell connectivity
list of point or cell ids
virtual void GenerateRepresentation(int level, vtkPolyData *pd)
unsigned char * CellHasBeenVisited
void GetBucketNeighbors(int ijk[3], int ndivs, int level)
an abstract base class for locators which find cells
int GetNumberOfCellsPerBucket()
virtual void ForceBuildLocator()
void GetChildren(int idx, int level, int children[8])
int IsInOctantBounds(double x[3], double tol=0.0)
vtkNeighborCells * Buckets
virtual void BuildLocator()
void GenerateFace(int face, int numDivs, int i, int j, int k, vtkPoints *pts, vtkCellArray *polys)
unsigned char QueryNumber
concrete dataset represents vertices, lines, polygons, and triangle strips
void MarkParents(void *, int, int, int, int, int)
provides thread-safe access to cells
virtual void FindClosestPoint(double x[3], double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2)
GLenum GLuint GLint GLenum face
#define VTKCOMMONDATAMODEL_EXPORT
static vtkCellLocator * New()
void ClearCellHasBeenVisited()
void GetOverlappingBuckets(double x[3], int ijk[3], double dist, int prevMinLevel[3], int prevMaxLevel[3])