vtkLegacyPParticlePathFilter.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
14 #ifndef vtkLegacyPParticlePathFilter_h
15 #define vtkLegacyPParticlePathFilter_h
16 
18 #include "vtkPVVTKExtensionsFiltersGeneralMPIModule.h" // For export macro
19 
21 
22 class vtkPolyData;
23 
26 {
27 public:
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
32 
33 protected:
35  ~vtkLegacyPParticlePathFilter() override;
36 
37  void ResetCache() override;
38  int OutputParticles(vtkPolyData* poly) override;
39  void InitializeExtraPointDataArrays(vtkPointData* outputPD) override;
42  void Finalize() override;
43 
44  //
45  // Store any information we need in the output and fetch what we can
46  // from the input
47  //
48  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
49  vtkInformationVector* outputVector) override;
50 
52  {
53  public:
55  : Filter(nullptr)
56  {
57  }
58  void Initialize(vtkLegacyParticleTracerBase* filter);
59  virtual ~ParticlePathFilterInternal() = default;
60  virtual int OutputParticles(vtkPolyData* particles);
61  void SetClearCache(bool clearCache) { this->ClearCache = clearCache; }
62  bool GetClearCache() { return this->ClearCache; }
63  void Finalize();
64  void Reset();
65 
66  private:
68  // Paths doesn't seem to work properly. it is meant to make connecting lines
69  // for the particles
70  std::vector<vtkSmartPointer<vtkIdList>> Paths;
71  bool ClearCache; // false by default
72  };
73 
77 
78 private:
80  void operator=(const vtkLegacyPParticlePathFilter&) = delete;
81 };
83 #endif
A particle tracer for vector fields.
#define VTK_ABI_NAMESPACE_END
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
void PrintSelf(ostream &os, vtkIndent indent) override
int vtkIdType
static vtkPolyDataAlgorithm * New()
#define VTK_ABI_NAMESPACE_BEGIN
A Parallel Particle tracer for unsteady vector fields.
virtual void SetToExtraPointDataArrays(vtkIdType, vtkLegacyParticleTracerBaseNamespace::ParticleInformation &)
virtual int OutputParticles(vtkPolyData *poly)=0
virtual void InitializeExtraPointDataArrays(vtkPointData *vtkNotUsed(outputPD))
Methods to append values to existing point data arrays that may only be desired on specific concrete ...
#define VTKPVVTKEXTENSIONSFILTERSGENERALMPI_EXPORT