 |
VTK
9.1.0
|
Go to the documentation of this file.
195 #ifndef vtkStreamTracer_h
196 #define vtkStreamTracer_h
198 #include "vtkFiltersFlowPathsModule.h"
237 vtkSetVector3Macro(StartPosition,
double);
238 vtkGetVector3Macro(StartPosition,
double);
290 FIXED_REASONS_FOR_TERMINATION_COUNT
329 vtkSetMacro(MaximumPropagation,
double);
330 vtkGetMacro(MaximumPropagation,
double);
350 vtkSetMacro(InitialIntegrationStep,
double);
351 vtkGetMacro(InitialIntegrationStep,
double);
361 vtkSetMacro(MinimumIntegrationStep,
double);
362 vtkGetMacro(MinimumIntegrationStep,
double);
372 vtkSetMacro(MaximumIntegrationStep,
double);
373 vtkGetMacro(MaximumIntegrationStep,
double);
380 vtkSetMacro(MaximumError,
double);
381 vtkGetMacro(MaximumError,
double);
396 vtkSetMacro(TerminalSpeed,
double);
397 vtkGetMacro(TerminalSpeed,
double);
404 vtkGetMacro(SurfaceStreamlines,
bool);
405 vtkSetMacro(SurfaceStreamlines,
bool);
406 vtkBooleanMacro(SurfaceStreamlines,
bool);
419 INTERPOLATOR_WITH_CELL_LOCATOR
427 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
428 vtkGetMacro(IntegrationDirection,
int);
440 vtkSetMacro(ComputeVorticity,
bool);
441 vtkGetMacro(ComputeVorticity,
bool);
449 vtkSetMacro(RotationScale,
double);
450 vtkGetMacro(RotationScale,
double);
462 vtkSetMacro(UseLocalSeedSource,
bool);
463 vtkGetMacro(UseLocalSeedSource,
bool);
464 vtkBooleanMacro(UseLocalSeedSource,
bool);
493 typedef bool (*CustomTerminationCallbackType)(
504 CustomTerminationCallbackType callback,
void* clientdata,
int reasonForTermination);
516 vtkErrorMacro(<<
"AddInput() must be called with a vtkDataSet not a vtkDataObject.");
527 const char* vecFieldName,
double& propagation,
vtkIdType& numSteps,
double& integrationTime);
536 double StartPosition[3];
555 double& step,
double& minStep,
double& maxStep,
int direction,
double cellLength);
579 bool UseLocalSeedSource =
true;
590 friend class PStreamTracerUtils;
represent and manipulate 3D points
static double ConvertToLength(double interval, int unit, double cellLength)
vtkCompositeDataSet * InputData
void SetIntegratorTypeToRungeKutta2()
Set/get the integrator type to be used for streamline generation.
void ConvertIntervals(double &step, double &minStep, double &maxStep, int direction, double cellLength)
bool HasMatchingPointAttributes
bool GenerateNormalsInIntegrate
void Integrate(vtkPointData *inputData, vtkPolyData *output, vtkDataArray *seedSource, vtkIdList *seedIds, vtkIntArray *integrationDirections, double lastPoint[3], vtkAbstractInterpolatedVelocityField *func, int maxCellSize, int vecType, const char *vecFieldName, double &propagation, vtkIdType &numSteps, double &integrationTime)
void AddCustomTerminationCallback(CustomTerminationCallbackType callback, void *clientdata, int reasonForTermination)
Adds a custom termination callback.
represent and manipulate point attribute data
void CalculateVorticity(vtkGenericCell *cell, double pcoords[3], vtkDoubleArray *cellVectors, double vorticity[3])
int GetIntegrationStepUnit()
void SetSourceData(vtkDataSet *source)
Specify the source object used to generate starting points (seeds).
void GenerateNormals(vtkPolyData *output, double *firstNormal, const char *vecName)
represent and manipulate attribute data in a dataset
vtkInitialValueProblemSolver * Integrator
double MaximumPropagation
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetIntegrationStepUnit(int unit)
Specify a uniform integration step unit for MinimumIntegrationStep, InitialIntegrationStep,...
void SetIntegrationDirectionToForward()
Specify whether the streamline is integrated in the upstream or downstream direction.
@ INTERPOLATOR_WITH_DATASET_POINT_LOCATOR
void InitializeSeeds(vtkDataArray *&seeds, vtkIdList *&seedIds, vtkIntArray *&integrationDirections, vtkDataSet *source)
abstract superclass for arrays of numeric data
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify the source object used to generate starting points (seeds).
abstract superclass for composite (multi-block or AMR) datasets
std::vector< void * > CustomTerminationClientData
static double ConvertToLength(IntervalInformation &interval, double cellLength)
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetInterpolatorTypeToCellLocator()
Set the velocity field interpolator type to the one involving a cell locator.
Superclass for all pipeline executives in VTK.
vtkIdType MaximumNumberOfSteps
void SetIntegrator(vtkInitialValueProblemSolver *)
Set/get the integrator type to be used for streamline generation.
void SetIntegrationDirectionToBoth()
Specify whether the streamline is integrated in the upstream or downstream direction.
double SimpleIntegrate(double seed[3], double lastPoint[3], double stepSize, vtkAbstractInterpolatedVelocityField *func)
void SetIntegratorTypeToRungeKutta45()
Set/get the integrator type to be used for streamline generation.
double MinimumIntegrationStep
static const double EPSILON
int SetupOutput(vtkInformation *inInfo, vtkInformation *outInfo)
a simple class to control print indentation
dynamic, self-adjusting array of int
std::vector< CustomTerminationCallbackType > CustomTerminationCallback
list of point or cell ids
~vtkStreamTracer() override
void AddInput(vtkDataObject *)
vtkDataSet * GetSource()
Specify the source object used to generate starting points (seeds).
int GetIntegratorType()
Set/get the integrator type to be used for streamline generation.
abstract class to specify dataset behavior
An abstract class for obtaining the interpolated velocity values at a point.
int CheckInputs(vtkAbstractInterpolatedVelocityField *&func, int *maxCellSize)
vtkAbstractInterpolatedVelocityField * InterpolatorPrototype
Proxy object to connect input/output ports.
double InitialIntegrationStep
void SetInterpolatorType(int interpType)
Set the type of the velocity field interpolator to determine whether vtkInterpolatedVelocityField (IN...
concrete dataset represents vertices, lines, polygons, and triangle strips
provides thread-safe access to cells
dynamic, self-adjusting array of double
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetInterpolatorTypeToDataSetPointLocator()
Set the velocity field interpolator type to the one involving a dataset point locator.
void SetIntegrationDirectionToBackward()
Specify whether the streamline is integrated in the upstream or downstream direction.
std::vector< int > CustomReasonForTermination
double MaximumIntegrationStep
Integrate a set of ordinary differential equations (initial value problem) in time.
general representation of visualization data
static vtkStreamTracer * New()
Construct object to start from position (0,0,0), with forward integration, terminal speed 1....
void SetIntegratorTypeToRungeKutta4()
Set/get the integrator type to be used for streamline generation.
void SetInterpolatorPrototype(vtkAbstractInterpolatedVelocityField *ivf)
The object used to interpolate the velocity field during integration is of the same class as this pro...
vtkExecutive * CreateDefaultExecutive() override
Create a default executive.
Superclass for algorithms that produce only polydata as output.
void SetIntegratorType(int type)
Set/get the integrator type to be used for streamline generation.