81 #ifndef vtkStreamTracer_h
82 #define vtkStreamTracer_h
84 #include "vtkFiltersFlowPathsModule.h"
123 vtkSetVector3Macro(StartPosition,
double);
124 vtkGetVector3Macro(StartPosition,
double);
176 FIXED_REASONS_FOR_TERMINATION_COUNT
192 void SetIntegratorType(
int type);
193 int GetIntegratorType();
203 void SetInterpolatorTypeToDataSetPointLocator();
209 void SetInterpolatorTypeToCellLocator();
215 vtkSetMacro(MaximumPropagation,
double);
216 vtkGetMacro(MaximumPropagation,
double);
225 void SetIntegrationStepUnit(
int unit);
236 vtkSetMacro(InitialIntegrationStep,
double);
237 vtkGetMacro(InitialIntegrationStep,
double);
247 vtkSetMacro(MinimumIntegrationStep,
double);
248 vtkGetMacro(MinimumIntegrationStep,
double);
258 vtkSetMacro(MaximumIntegrationStep,
double);
259 vtkGetMacro(MaximumIntegrationStep,
double);
266 vtkSetMacro(MaximumError,
double);
267 vtkGetMacro(MaximumError,
double);
274 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
275 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
282 vtkSetMacro(TerminalSpeed,
double);
283 vtkGetMacro(TerminalSpeed,
double);
290 vtkGetMacro(SurfaceStreamlines,
bool);
291 vtkSetMacro(SurfaceStreamlines,
bool);
292 vtkBooleanMacro(SurfaceStreamlines,
bool);
305 INTERPOLATOR_WITH_CELL_LOCATOR
313 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
314 vtkGetMacro(IntegrationDirection,
int);
326 vtkSetMacro(ComputeVorticity,
bool);
327 vtkGetMacro(ComputeVorticity,
bool);
335 vtkSetMacro(RotationScale,
double);
336 vtkGetMacro(RotationScale,
double);
354 void SetInterpolatorType(
int interpType);
365 typedef bool (*CustomTerminationCallbackType)(
375 void AddCustomTerminationCallback(
376 CustomTerminationCallbackType callback,
void* clientdata,
int reasonForTermination);
388 vtkErrorMacro(<<
"AddInput() must be called with a vtkDataSet not a vtkDataObject.");
394 void CalculateVorticity(
399 const char* vecFieldName,
double& propagation,
vtkIdType& numSteps,
double& integrationTime);
400 double SimpleIntegrate(
double seed[3],
double lastPoint[3],
double stepSize,
403 void GenerateNormals(
vtkPolyData* output,
double* firstNormal,
const char* vecName);
408 double StartPosition[3];
426 void ConvertIntervals(
427 double& step,
double& minStep,
double& maxStep,
int direction,
double cellLength);
428 static double ConvertToLength(
double interval,
int unit,
double cellLength);
459 friend class PStreamTracerUtils;