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) VTK_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() VTK_OVERRIDE;
147 
148  //
149  // Make sure the pipeline knows what type we expect as input
150  //
151  int FillInputPortInformation (int port, vtkInformation* info) VTK_OVERRIDE;
152  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
153 
155 
158  int RequestInformation (vtkInformation *,
160  vtkInformationVector *) VTK_OVERRIDE;
161  //
162  int RequestData(vtkInformation *request,
163  vtkInformationVector** inputVector,
164  vtkInformationVector* outputVector) VTK_OVERRIDE;
166 
167  TrailPointer GetTrail(vtkIdType i);
168  void IncrementTrail(
169  TrailPointer trail, vtkDataSet *input, vtkIdType i);
170 
171  // internal data variables
172  int NumberOfTimeSteps;
173  int MaskPoints;
174  unsigned int MaxTrackLength;
175  unsigned int LastTrackLength;
176  int FirstTime;
177  char *IdChannelArray;
178  double MaxStepDistance[3];
179  double LatestTime;
180  int KeepDeadTrails;
181  int UsingSelection;
182  //
183 
186  vtkSmartPointer<vtkPoints> LineCoordinates;
187  vtkSmartPointer<vtkPoints> VertexCoordinates;
189  vtkSmartPointer<vtkTemporalPathLineFilterInternals> Internals;
190  std::set<vtkIdType> SelectionIds;
191 
192  //
193 private:
194  vtkTemporalPathLineFilter(const vtkTemporalPathLineFilter&) VTK_DELETE_FUNCTION;
195  void operator=(const vtkTemporalPathLineFilter&) VTK_DELETE_FUNCTION;
196 };
197 
198 #endif
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
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:41
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:287
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
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
object to represent cell connectivity
Definition: vtkCellArray.h:50
Store zero or more vtkInformation instances.
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.