VTK
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 
160  vtkInformationVector *) override;
161  //
162  int RequestData(vtkInformation *request,
163  vtkInformationVector** inputVector,
164  vtkInformationVector* outputVector) override;
166 
167  TrailPointer GetTrail(vtkIdType i);
168  void IncrementTrail(
169  TrailPointer trail, vtkDataSet *input, vtkIdType i);
170 
171  // internal data variables
174  unsigned int MaxTrackLength;
175  unsigned int LastTrackLength;
178  double MaxStepDistance[3];
179  double LatestTime;
182  //
183 
190  std::set<vtkIdType> SelectionIds;
191 
192  //
193 private:
195  void operator=(const vtkTemporalPathLineFilter&) = delete;
196 };
197 
198 #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:62
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:41
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:347
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:39
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:50
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:39
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.