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 
20 class vtkPolyData;
21 
24 {
25 public:
27  void PrintSelf(ostream& os, vtkIndent indent) override;
28 
30 
31 protected:
33  ~vtkLegacyPParticlePathFilter() override;
34 
35  void ResetCache() override;
36  int OutputParticles(vtkPolyData* poly) override;
37  void InitializeExtraPointDataArrays(vtkPointData* outputPD) override;
40  void Finalize() override;
41 
42  //
43  // Store any information we need in the output and fetch what we can
44  // from the input
45  //
46  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
47  vtkInformationVector* outputVector) override;
48 
50  {
51  public:
53  : Filter(nullptr)
54  {
55  }
56  void Initialize(vtkLegacyParticleTracerBase* filter);
57  virtual ~ParticlePathFilterInternal() = default;
58  virtual int OutputParticles(vtkPolyData* particles);
59  void SetClearCache(bool clearCache) { this->ClearCache = clearCache; }
60  bool GetClearCache() { return this->ClearCache; }
61  void Finalize();
62  void Reset();
63 
64  private:
66  // Paths doesn't seem to work properly. it is meant to make connecting lines
67  // for the particles
68  std::vector<vtkSmartPointer<vtkIdList>> Paths;
69  bool ClearCache; // false by default
70  };
71 
75 
76 private:
78  void operator=(const vtkLegacyPParticlePathFilter&) = delete;
79 };
80 #endif
A particle tracer for vector fields.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
void PrintSelf(ostream &os, vtkIndent indent) override
int vtkIdType
static vtkPolyDataAlgorithm * New()
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