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 "vtkPolyDataAlgorithm.h"
39 
40 class vtkPoints;
41 class vtkCellArray;
42 class vtkMergePoints;
43 class vtkFloatArray;
44 
45 //BTX
46 #include "vtkSmartPointer.h" // for memory safety
47 #include <vtkstd/set> // Because we want to use it
48 class ParticleTrail;
49 class vtkTemporalPathLineFilterInternals;
51 //ETX
52 
54  public:
56 
59  void PrintSelf(ostream& os, vtkIndent indent);
61 
63 
65  vtkSetMacro(MaskPoints,int);
66  vtkGetMacro(MaskPoints,int);
68 
70 
76  vtkSetMacro(MaxTrackLength,unsigned int);
77  vtkGetMacro(MaxTrackLength,unsigned int);
79 
81 
87  vtkSetStringMacro(IdChannelArray);
88  vtkGetStringMacro(IdChannelArray);
90 
91  // DO NOT CALL. Deprecated in VTK 5.6. This class now tracks all scalars.
92  VTK_LEGACY(void SetScalarArray(const char *));
93  VTK_LEGACY(const char *GetScalarArray());
94 
96 
102  vtkSetVector3Macro(MaxStepDistance,double);
103  vtkGetVector3Macro(MaxStepDistance,double);
105 
107 
111  vtkSetMacro(KeepDeadTrails,int);
112  vtkGetMacro(KeepDeadTrails,int);
114 
117  void Flush();
118 
123  void SetSelectionConnection(vtkAlgorithmOutput *algOutput);
124 
129  void SetSelection(vtkDataSet *input);
130 
131  protected:
134 
135  //
136  // Make sure the pipeline knows what type we expect as input
137  //
138  virtual int FillInputPortInformation (int port, vtkInformation* info);
140 
142 
143  virtual int RequestInformation (vtkInformation *,
146  //
147  virtual int RequestData(vtkInformation *request,
148  vtkInformationVector** inputVector,
149  vtkInformationVector* outputVector);
151 
152 //BTX
153  TrailPointer GetTrail(vtkIdType i);
154  void IncrementTrail(
155  TrailPointer trail, vtkDataSet *input, vtkIdType i);
156 //ETX
157  // internal data variables
160  unsigned int MaxTrackLength;
161  unsigned int LastTrackLength;
164  double MaxStepDistance[3];
165  double LatestTime;
168  //
169 //BTX
176  vtkstd::set<vtkIdType> SelectionIds;
177 //ETX
178  //
179  private:
180  vtkTemporalPathLineFilter(const vtkTemporalPathLineFilter&); // Not implemented.
181  void operator=(const vtkTemporalPathLineFilter&); // Not implemented.
182 };
183 
184 #endif
vtkSmartPointer< vtkFloatArray > TrailId
vtkSmartPointer< vtkCellArray > Vertices
#define VTK_GRAPHICS_EXPORT
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:58
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkstd::set< vtkIdType > SelectionIds
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:42
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:255
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:37
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:48
Store zero or more vtkInformation instances.
vtkSmartPointer< vtkCellArray > PolyLines
represent and manipulate 3D points
Definition: vtkPoints.h:38