VTK  9.0.1
vtkTemporalPathLineFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTemporalPathLineFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
36 #ifndef vtkTemporalPathLineFilter_h
37 #define vtkTemporalPathLineFilter_h
38 
39 #include "vtkFiltersGeneralModule.h" // For export macro
40 #include "vtkPolyDataAlgorithm.h"
41 
42 class vtkPoints;
43 class vtkCellArray;
44 class vtkMergePoints;
45 class vtkFloatArray;
46 
47 #include "vtkSmartPointer.h" // for memory safety
48 #include <set> // Because we want to use it
49 class ParticleTrail;
50 class vtkTemporalPathLineFilterInternals;
52 
53 class VTKFILTERSGENERAL_EXPORT vtkTemporalPathLineFilter : public vtkPolyDataAlgorithm
54 {
55 public:
57 
62  void PrintSelf(ostream& os, vtkIndent indent) override;
64 
66 
70  vtkSetMacro(MaskPoints, int);
71  vtkGetMacro(MaskPoints, int);
73 
75 
83  vtkSetMacro(MaxTrackLength, unsigned int);
84  vtkGetMacro(MaxTrackLength, unsigned int);
86 
88 
96  vtkSetStringMacro(IdChannelArray);
97  vtkGetStringMacro(IdChannelArray);
99 
101 
109  vtkSetVector3Macro(MaxStepDistance, double);
110  vtkGetVector3Macro(MaxStepDistance, double);
112 
114 
120  vtkSetMacro(KeepDeadTrails, int);
121  vtkGetMacro(KeepDeadTrails, int);
123 
128  void Flush();
129 
135  void SetSelectionConnection(vtkAlgorithmOutput* algOutput);
136 
142  void SetSelectionData(vtkDataSet* input);
143 
144 protected:
146  ~vtkTemporalPathLineFilter() override;
147 
148  //
149  // Make sure the pipeline knows what type we expect as input
150  //
151  int FillInputPortInformation(int port, vtkInformation* info) override;
153 
155 
159  //
160  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
161  vtkInformationVector* outputVector) override;
163 
164  TrailPointer GetTrail(vtkIdType i);
165  void IncrementTrail(TrailPointer trail, vtkDataSet* input, vtkIdType i);
166 
167  // internal data variables
170  unsigned int MaxTrackLength;
171  unsigned int LastTrackLength;
174  double MaxStepDistance[3];
175  double LatestTime;
178  //
179 
186  std::set<vtkIdType> SelectionIds;
187 
188  //
189 private:
191  void operator=(const vtkTemporalPathLineFilter&) = delete;
192 };
193 
194 #endif
vtkSmartPointer< vtkFloatArray > TrailId
vtkSmartPointer< vtkCellArray > Vertices
vtkSmartPointer< vtkPoints > VertexCoordinates
Generate a Polydata Pointset from any Dataset.
vtkSmartPointer< ParticleTrail > TrailPointer
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:35
Hold a reference to a vtkObjectBase instance.
Definition: vtkMeta.h:32
int vtkIdType
Definition: vtkType.h:338
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
merge exactly coincident points
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkSmartPointer< vtkPoints > LineCoordinates
vtkSmartPointer< vtkTemporalPathLineFilterInternals > Internals
object to represent cell connectivity
Definition: vtkCellArray.h:179
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
vtkSmartPointer< vtkCellArray > PolyLines
represent and manipulate 3D points
Definition: vtkPoints.h:33
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.