68 #ifndef __vtkGenericStreamTracer_h
69 #define __vtkGenericStreamTracer_h
100 vtkSetVector3Macro(StartPosition,
double);
101 vtkGetVector3Macro(StartPosition,
double);
149 void SetIntegratorType(
int type);
150 int GetIntegratorType();
152 {this->SetIntegratorType(RUNGE_KUTTA2);};
154 {this->SetIntegratorType(RUNGE_KUTTA4);};
156 {this->SetIntegratorType(RUNGE_KUTTA45);};
162 void SetMaximumPropagation(
int unit,
double max);
163 void SetMaximumPropagation(
double max);
164 void SetMaximumPropagationUnit(
int unit);
165 int GetMaximumPropagationUnit();
166 double GetMaximumPropagation();
168 {this->SetMaximumPropagationUnit(TIME_UNIT);};
170 {this->SetMaximumPropagationUnit(LENGTH_UNIT);};
172 {this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);};
179 void SetMinimumIntegrationStep(
int unit,
double step);
180 void SetMinimumIntegrationStepUnit(
int unit);
181 void SetMinimumIntegrationStep(
double step);
182 int GetMinimumIntegrationStepUnit();
183 double GetMinimumIntegrationStep();
185 {this->SetMinimumIntegrationStepUnit(TIME_UNIT);};
187 {this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);};
189 {this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);};
196 void SetMaximumIntegrationStep(
int unit,
double step);
197 void SetMaximumIntegrationStepUnit(
int unit);
198 void SetMaximumIntegrationStep(
double step);
199 int GetMaximumIntegrationStepUnit();
200 double GetMaximumIntegrationStep();
202 {this->SetMaximumIntegrationStepUnit(TIME_UNIT);};
204 {this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);};
206 {this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);};
213 void SetInitialIntegrationStep(
int unit,
double step);
214 void SetInitialIntegrationStepUnit(
int unit);
215 void SetInitialIntegrationStep(
double step);
216 int GetInitialIntegrationStepUnit();
217 double GetInitialIntegrationStep();
219 {this->SetInitialIntegrationStepUnit(TIME_UNIT);};
221 {this->SetInitialIntegrationStepUnit(LENGTH_UNIT);};
223 {this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);};
230 vtkSetMacro(MaximumError,
double);
231 vtkGetMacro(MaximumError,
double);
236 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
237 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
243 vtkSetMacro(TerminalSpeed,
double);
244 vtkGetMacro(TerminalSpeed,
double);
259 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
260 vtkGetMacro(IntegrationDirection,
int);
262 {this->SetIntegrationDirection(FORWARD);};
264 {this->SetIntegrationDirection(BACKWARD);};
266 {this->SetIntegrationDirection(BOTH);};
272 vtkSetMacro(ComputeVorticity,
int);
273 vtkGetMacro(ComputeVorticity,
int);
274 vtkBooleanMacro(ComputeVorticity,
int);
280 vtkSetMacro(RotationScale,
double);
281 vtkGetMacro(RotationScale,
double);
288 vtkGetStringMacro(InputVectorsSelection);
290 {this->SetInputVectorsSelection(fieldName);}
306 { vtkErrorMacro( <<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject."); };
319 double vorticity[3]);
329 void SimpleIntegrate(
double seed[3],
335 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
339 vtkSetStringMacro(InputVectorsSelection);
344 double StartPosition[3];
363 void SetIntervalInformation(
int unit,
double interval,
367 double cellLength,
double speed);
369 double cellLength,
double speed);
371 double cellLength,
double speed);
373 double cellLength,
double speed);
374 void ConvertIntervals(
double& step,
double& minStep,
double& maxStep,