VTK  9.7.1
vtkParticlePathFilter.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
17 #ifndef vtkParticlePathFilter_h
18 #define vtkParticlePathFilter_h
19 
20 #include "vtkFiltersFlowPathsModule.h" // For export macro
21 #include "vtkParticleTracerBase.h"
22 #include "vtkSmartPointer.h" // For Points
23 
24 #include <functional> // for std::greater
25 #include <map> // For Paths
26 #include <queue> // For UnusedIndices
27 #include <vector> // For Paths
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 
31 class vtkPointSet;
32 
33 class VTKFILTERSFLOWPATHS_EXPORT vtkParticlePathFilter : public vtkParticleTracerBase
34 {
35 public:
37  // void PrintSelf(ostream& os, vtkIndent indent) override;
38 
39  static vtkParticlePathFilter* New();
40 
41 protected:
42  vtkParticlePathFilter() = default;
43  ~vtkParticlePathFilter() override = default;
45  void operator=(const vtkParticlePathFilter&) = delete;
46 
50 
51 private:
53  std::map<vtkIdType, std::vector<vtkIdType>> Paths;
54  std::priority_queue<vtkIdType, std::vector<vtkIdType>, std::greater<>> UnusedIndices;
55 };
56 
57 VTK_ABI_NAMESPACE_END
58 #endif
Store vtkAlgorithm input/output information.
void operator=(const vtkParticleTracerBase &)=delete
concrete class for storing a set of points
Definition: vtkPointSet.h:58
static vtkPolyDataAlgorithm * New()
int Initialize(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Resets internal cache for a clean start.
int Finalize(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Generates an output using the data provided after Execute was ran.
A Parallel Particle tracer for unsteady vector fields.
Store zero or more vtkInformation instances.
int Execute(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Moves the particles one time step further.
A particle tracer for vector fields.