VTK  9.3.20240419
vtkCellLocatorStrategy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
19 #ifndef vtkCellLocatorStrategy_h
20 #define vtkCellLocatorStrategy_h
21 
22 #include "vtkCommonDataModelModule.h" // For export macro
23 #include "vtkFindCellStrategy.h"
24 
25 VTK_ABI_NAMESPACE_BEGIN
27 
28 class VTKCOMMONDATAMODEL_EXPORT vtkCellLocatorStrategy : public vtkFindCellStrategy
29 {
30 public:
35 
37 
41  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
48  int Initialize(vtkPointSet* ps) override;
49 
53  vtkIdType FindCell(double x[3], vtkCell* cell, vtkGenericCell* gencell, vtkIdType cellId,
54  double tol2, int& subId, double pcoords[3], double* weights) override;
55 
59  vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3],
60  vtkGenericCell* cell, vtkIdType& cellId, int& subId, double& dist2, int& inside) override;
61 
65  bool InsideCellBounds(double x[3], vtkIdType cellId) override;
66 
68 
74  vtkGetObjectMacro(CellLocator, vtkAbstractCellLocator);
76 
83  void CopyParameters(vtkFindCellStrategy* from) override;
84 
85 protected:
88 
90 
91 private:
93  void operator=(const vtkCellLocatorStrategy&) = delete;
94 };
95 
96 VTK_ABI_NAMESPACE_END
97 #endif
an abstract base class for locators which find cells
implement a specific vtkPointSet::FindCell() strategy based on using a cell locator
bool InsideCellBounds(double x[3], vtkIdType cellId) override
Implement the specific strategy.
vtkAbstractCellLocator * CellLocator
virtual void SetCellLocator(vtkAbstractCellLocator *)
Set / get an instance of vtkAbstractCellLocator which is used to implement the strategy for FindCell(...
~vtkCellLocatorStrategy() override
void CopyParameters(vtkFindCellStrategy *from) override
Copy essential parameters between instances of this class.
int Initialize(vtkPointSet *ps) override
Provide necessary initialization method (see superclass for more information).
vtkIdType FindCell(double x[3], vtkCell *cell, vtkGenericCell *gencell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights) override
Implement the specific strategy.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
static vtkCellLocatorStrategy * New()
Construct a vtkFindCellStrategy subclass.
vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2, int &inside) override
Implement the specific strategy.
abstract class to specify cell behavior
Definition: vtkCell.h:130
helper class to manage the vtkPointSet::FindCell() METHOD
provides thread-safe access to cells
a simple class to control print indentation
Definition: vtkIndent.h:108
concrete class for storing a set of points
Definition: vtkPointSet.h:98
@ radius
Definition: vtkX3D.h:252
int vtkIdType
Definition: vtkType.h:315