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
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:33
vtkTemporalPathLineFilter::PolyLines
vtkSmartPointer< vtkCellArray > PolyLines
Definition: vtkTemporalPathLineFilter.h:180
TrailPointer
vtkSmartPointer< ParticleTrail > TrailPointer
Definition: vtkTemporalPathLineFilter.h:50
vtkTemporalPathLineFilter::UsingSelection
int UsingSelection
Definition: vtkTemporalPathLineFilter.h:177
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkFloatArray
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:35
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkPolyDataAlgorithm::FillOutputPortInformation
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkSmartPointer
Hold a reference to a vtkObjectBase instance.
Definition: vtkMeta.h:32
vtkTemporalPathLineFilter::MaskPoints
int MaskPoints
Definition: vtkTemporalPathLineFilter.h:169
vtkPolyDataAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyDataAlgorithm.h
vtkTemporalPathLineFilter::Internals
vtkSmartPointer< vtkTemporalPathLineFilterInternals > Internals
Definition: vtkTemporalPathLineFilter.h:185
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkPolyDataAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkTemporalPathLineFilter::NumberOfTimeSteps
int NumberOfTimeSteps
Definition: vtkTemporalPathLineFilter.h:168
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:179
vtkTemporalPathLineFilter::LatestTime
double LatestTime
Definition: vtkTemporalPathLineFilter.h:175
vtkSmartPointer.h
vtkTemporalPathLineFilter::FirstTime
int FirstTime
Definition: vtkTemporalPathLineFilter.h:172
vtkTemporalPathLineFilter::LastTrackLength
unsigned int LastTrackLength
Definition: vtkTemporalPathLineFilter.h:171
vtkTemporalPathLineFilter::VertexCoordinates
vtkSmartPointer< vtkPoints > VertexCoordinates
Definition: vtkTemporalPathLineFilter.h:183
vtkPolyDataAlgorithm::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkTemporalPathLineFilter::KeepDeadTrails
int KeepDeadTrails
Definition: vtkTemporalPathLineFilter.h:176
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkTemporalPathLineFilter
Generate a Polydata Pointset from any Dataset.
Definition: vtkTemporalPathLineFilter.h:53
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:36
vtkTemporalPathLineFilter::Vertices
vtkSmartPointer< vtkCellArray > Vertices
Definition: vtkTemporalPathLineFilter.h:181
vtkTemporalPathLineFilter::TrailId
vtkSmartPointer< vtkFloatArray > TrailId
Definition: vtkTemporalPathLineFilter.h:184
vtkTemporalPathLineFilter::MaxTrackLength
unsigned int MaxTrackLength
Definition: vtkTemporalPathLineFilter.h:170
vtkTemporalPathLineFilter::LineCoordinates
vtkSmartPointer< vtkPoints > LineCoordinates
Definition: vtkTemporalPathLineFilter.h:182
vtkPolyDataAlgorithm::New
static vtkPolyDataAlgorithm * New()
vtkMergePoints
merge exactly coincident points
Definition: vtkMergePoints.h:33
vtkPolyDataAlgorithm::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalPathLineFilter::IdChannelArray
char * IdChannelArray
Definition: vtkTemporalPathLineFilter.h:173
vtkTemporalPathLineFilter::SelectionIds
std::set< vtkIdType > SelectionIds
Definition: vtkTemporalPathLineFilter.h:186
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:41