47#ifndef vtkOverlappingCellsDetector_h
48#define vtkOverlappingCellsDetector_h
50#include "vtkFiltersParallelDIY2Module.h"
56#include <unordered_map>
83 vtkGetMacro(Tolerance,
double);
84 vtkSetMacro(Tolerance,
double);
92 vtkGetStringMacro(NumberOfOverlapsPerCellArrayName);
93 vtkSetStringMacro(NumberOfOverlapsPerCellArrayName);
133 const std::vector<vtkBoundingBox>& queryCellBoundingBoxes,
vtkDataSet* cellDataSet,
134 vtkPointSet* pointCloud,
const std::vector<vtkBoundingBox>& cellBoundingBoxes,
135 std::unordered_map<
vtkIdType, std::set<vtkIdType>>& collisionListMap,
136 bool updateProgress =
false);
abstract class to specify dataset behavior
a simple class to control print indentation
Multiprocessing communication superclass.
Exposes how many cells each cell of the input collide.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
~vtkOverlappingCellsDetector() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOverlappingCellsDetector()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
double Tolerance
Tolerance for overlap detections.
int ExposeOverlappingCellsAmongBlocks(std::vector< vtkPointSet * > &outputs)
Main pipeline.
static vtkOverlappingCellsDetector * New()
vtkMultiProcessController * Controller
Local controller.
void SetController(vtkMultiProcessController *)
Get/Set the controller to use.
bool DetectOverlappingCells(vtkDataSet *queryCellDataSet, vtkPointSet *queryPointCloud, const std::vector< vtkBoundingBox > &queryCellBoundingBoxes, vtkDataSet *cellDataSet, vtkPointSet *pointCloud, const std::vector< vtkBoundingBox > &cellBoundingBoxes, std::unordered_map< vtkIdType, std::set< vtkIdType > > &collisionListMap, bool updateProgress=false)
Method performing the cell detection.
char * NumberOfOverlapsPerCellArrayName
Output cell scalar field counting the number of cells that each cell was found to collide.
concrete class for storing a set of points