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;
void SetIntegrationDirectionToBoth()
Specify whether the streamline is integrated in the upstream or downstream direction.
static const double EPSILON
represent and manipulate point attribute data
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
An abstract class for obtaining the interpolated velocity values at a point.
void AddInput(vtkDataObject *)
bool GenerateNormalsInIntegrate
vtkCompositeDataSet * InputData
concrete dataset represents vertices, lines, polygons, and triangle strips
Superclass for all pipeline executives in VTK.
double MinimumIntegrationStep
provides thread-safe access to cells
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph *>::edge_descriptor e, vtkGraph *)
vtkIdType MaximumNumberOfSteps
Proxy object to connect input/output ports.
dynamic, self-adjusting array of double
static vtkPolyDataAlgorithm * New()
void SetIntegrationDirectionToForward()
Specify whether the streamline is integrated in the upstream or downstream direction.
std::vector< int > CustomReasonForTermination
dynamic, self-adjusting array of int
abstract superclass for composite (multi-block or AMR) datasets
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
int GetIntegrationStepUnit()
list of point or cell ids
vtkInitialValueProblemSolver * Integrator
abstract superclass for arrays of numeric data
void SetIntegratorTypeToRungeKutta4()
Set/get the integrator type to be used for streamline generation.
std::vector< CustomTerminationCallbackType > CustomTerminationCallback
represent and manipulate attribute data in a dataset
double MaximumIntegrationStep
void SetIntegratorTypeToRungeKutta2()
Set/get the integrator type to be used for streamline generation.
void SetIntegratorTypeToRungeKutta45()
Set/get the integrator type to be used for streamline generation.
double InitialIntegrationStep
vtkAbstractInterpolatedVelocityField * InterpolatorPrototype
std::vector< void * > CustomTerminationClientData
void SetIntegrationDirectionToBackward()
Specify whether the streamline is integrated in the upstream or downstream direction.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
double MaximumPropagation
bool HasMatchingPointAttributes
general representation of visualization data
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Integrate a set of ordinary differential equations (initial value problem) in time.