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 =========================================================================*/
35 #ifndef vtkTemporalPathLineFilter_h
36 #define vtkTemporalPathLineFilter_h
37 
38 #include "vtkFiltersGeneralModule.h" // For export macro
39 #include "vtkPolyDataAlgorithm.h"
40 
41 class vtkPoints;
42 class vtkCellArray;
43 class vtkMergePoints;
44 class vtkFloatArray;
45 
46 //BTX
47 #include "vtkSmartPointer.h" // for memory safety
48 #include <set> // Because we want to use it
49 class ParticleTrail;
50 class vtkTemporalPathLineFilterInternals;
52 //ETX
53 
55 {
56 public:
58 
61  void PrintSelf(ostream& os, vtkIndent indent);
63 
65 
67  vtkSetMacro(MaskPoints,int);
68  vtkGetMacro(MaskPoints,int);
70 
72 
77  vtkSetMacro(MaxTrackLength,unsigned int);
78  vtkGetMacro(MaxTrackLength,unsigned int);
80 
82 
88  vtkSetStringMacro(IdChannelArray);
89  vtkGetStringMacro(IdChannelArray);
91 
93 
99  vtkSetVector3Macro(MaxStepDistance,double);
100  vtkGetVector3Macro(MaxStepDistance,double);
102 
104 
108  vtkSetMacro(KeepDeadTrails,int);
109  vtkGetMacro(KeepDeadTrails,int);
111 
114  void Flush();
115 
120  void SetSelectionConnection(vtkAlgorithmOutput *algOutput);
121 
126  void SetSelectionData(vtkDataSet *input);
127 
128 protected:
131 
132  //
133  // Make sure the pipeline knows what type we expect as input
134  //
135  virtual int FillInputPortInformation (int port, vtkInformation* info);
137 
139 
140  virtual int RequestInformation (vtkInformation *,
143  //
144  virtual int RequestData(vtkInformation *request,
145  vtkInformationVector** inputVector,
146  vtkInformationVector* outputVector);
148 
149 //BTX
150  TrailPointer GetTrail(vtkIdType i);
151  void IncrementTrail(
152  TrailPointer trail, vtkDataSet *input, vtkIdType i);
153 //ETX
154  // internal data variables
157  unsigned int MaxTrackLength;
158  unsigned int LastTrackLength;
161  double MaxStepDistance[3];
162  double LatestTime;
165  //
166 //BTX
173  std::set<vtkIdType> SelectionIds;
174 //ETX
175  //
176 private:
177  vtkTemporalPathLineFilter(const vtkTemporalPathLineFilter&); // Not implemented.
178  void operator=(const vtkTemporalPathLineFilter&); // Not implemented.
179 };
180 
181 #endif
vtkSmartPointer< vtkFloatArray > TrailId
vtkSmartPointer< vtkCellArray > Vertices
vtkSmartPointer< vtkPoints > VertexCoordinates
virtual int FillInputPortInformation(int port, vtkInformation *info)
Generate a Polydata Pointset from any Dataset.
vtkSmartPointer< ParticleTrail > TrailPointer
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:45
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:247
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:38
merge exactly coincident points
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define VTKFILTERSGENERAL_EXPORT
vtkSmartPointer< vtkPoints > LineCoordinates
vtkSmartPointer< vtkTemporalPathLineFilterInternals > Internals
object to represent cell connectivity
Definition: vtkCellArray.h:49
Store zero or more vtkInformation instances.
vtkSmartPointer< vtkCellArray > PolyLines
represent and manipulate 3D points
Definition: vtkPoints.h:38