VTK
9.4.20250421
|
Streamline generator. More...
#include <vtkStreamTracer.h>
Public Types | |
enum | Units { LENGTH_UNIT = 1 , CELL_LENGTH_UNIT = 2 } |
enum | Solvers { RUNGE_KUTTA2 , RUNGE_KUTTA4 , RUNGE_KUTTA45 , NONE , UNKNOWN } |
enum | ReasonForTermination { OUT_OF_DOMAIN = vtkInitialValueProblemSolver::OUT_OF_DOMAIN , NOT_INITIALIZED = vtkInitialValueProblemSolver::NOT_INITIALIZED , UNEXPECTED_VALUE = vtkInitialValueProblemSolver::UNEXPECTED_VALUE , OUT_OF_LENGTH = 4 , OUT_OF_STEPS = 5 , STAGNATION = 6 , FIXED_REASONS_FOR_TERMINATION_COUNT } |
enum | { FORWARD , BACKWARD , BOTH } |
enum | { INTERPOLATOR_WITH_DATASET_POINT_LOCATOR , INTERPOLATOR_WITH_CELL_LOCATOR } |
![]() | |
typedef vtkAlgorithm | Superclass |
![]() | |
enum | DesiredOutputPrecision { SINGLE_PRECISION , DOUBLE_PRECISION , DEFAULT_PRECISION } |
Values used for setting the desired output precision for various algorithms. More... | |
typedef vtkObject | Superclass |
Public Member Functions | |
void | SetSourceConnection (vtkAlgorithmOutput *algOutput) |
Specify the source object used to generate starting points (seeds). | |
void | SetInterpolatorTypeToDataSetPointLocator () |
Set the velocity field interpolator type to one that uses a point locator to perform local spatial searching. | |
void | SetInterpolatorTypeToCellLocator () |
Set the velocity field interpolator type to one that uses a cell locator to perform spatial searching. | |
void | SetIntegrationStepUnit (int unit) |
Specify a uniform integration step unit for MinimumIntegrationStep, InitialIntegrationStep, and MaximumIntegrationStep. | |
int | GetIntegrationStepUnit () |
void | SetInterpolatorPrototype (vtkAbstractInterpolatedVelocityField *ivf) |
The object used to interpolate the velocity field during integration is of the same class as this prototype. | |
void | SetInterpolatorType (int interpType) |
Set the type of the velocity field interpolator to determine whether INTERPOLATOR_WITH_DATASET_POINT_LOCATOR or INTERPOLATOR_WITH_CELL_LOCATOR is employed for locating cells during streamline integration. | |
void | AddCustomTerminationCallback (CustomTerminationCallbackType callback, void *clientdata, int reasonForTermination) |
Adds a custom termination callback. | |
void | ConvertIntervals (double &step, double &minStep, double &maxStep, int direction, double cellLength) |
The following methods should not be called by the user. | |
virtual void | SetStartPosition (double, double, double) |
Specify the starting point (seed) of a streamline in the global coordinate system. | |
virtual void | SetStartPosition (double[3]) |
Specify the starting point (seed) of a streamline in the global coordinate system. | |
virtual double * | GetStartPosition () |
Specify the starting point (seed) of a streamline in the global coordinate system. | |
virtual void | GetStartPosition (double &, double &, double &) |
Specify the starting point (seed) of a streamline in the global coordinate system. | |
virtual void | GetStartPosition (double[3]) |
Specify the starting point (seed) of a streamline in the global coordinate system. | |
void | SetSourceData (vtkDataSet *source) |
Specify the source object used to generate starting points (seeds). | |
vtkDataSet * | GetSource () |
Specify the source object used to generate starting points (seeds). | |
void | SetIntegrator (vtkInitialValueProblemSolver *) |
Set/get the integrator type to be used for streamline generation. | |
virtual vtkInitialValueProblemSolver * | GetIntegrator () |
Set/get the integrator type to be used for streamline generation. | |
void | SetIntegratorType (int type) |
Set/get the integrator type to be used for streamline generation. | |
int | GetIntegratorType () |
Set/get the integrator type to be used for streamline generation. | |
void | SetIntegratorTypeToRungeKutta2 () |
Set/get the integrator type to be used for streamline generation. | |
void | SetIntegratorTypeToRungeKutta4 () |
Set/get the integrator type to be used for streamline generation. | |
void | SetIntegratorTypeToRungeKutta45 () |
Set/get the integrator type to be used for streamline generation. | |
virtual void | SetMaximumPropagation (double) |
Specify the maximum length of a streamline expressed in LENGTH_UNIT. | |
virtual double | GetMaximumPropagation () |
Specify the maximum length of a streamline expressed in LENGTH_UNIT. | |
virtual void | SetInitialIntegrationStep (double) |
Specify the Initial step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (either the starting size for an adaptive integrator, e.g., RK45, or the constant / fixed size for non-adaptive ones, i.e., RK2 and RK4) | |
virtual double | GetInitialIntegrationStep () |
Specify the Initial step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (either the starting size for an adaptive integrator, e.g., RK45, or the constant / fixed size for non-adaptive ones, i.e., RK2 and RK4) | |
virtual void | SetMinimumIntegrationStep (double) |
Specify the Minimum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45) | |
virtual double | GetMinimumIntegrationStep () |
Specify the Minimum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45) | |
virtual void | SetMaximumIntegrationStep (double) |
Specify the Maximum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45) | |
virtual double | GetMaximumIntegrationStep () |
Specify the Maximum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45) | |
virtual void | SetMaximumError (double) |
Specify the maximum error tolerated throughout streamline integration. | |
virtual double | GetMaximumError () |
Specify the maximum error tolerated throughout streamline integration. | |
virtual void | SetMaximumNumberOfSteps (vtkIdType) |
Specify the maximum number of steps for integrating a streamline. | |
virtual vtkIdType | GetMaximumNumberOfSteps () |
Specify the maximum number of steps for integrating a streamline. | |
virtual void | SetTerminalSpeed (double) |
Specify the terminal speed value, below which streamline integration is terminated. | |
virtual double | GetTerminalSpeed () |
Specify the terminal speed value, below which streamline integration is terminated. | |
virtual bool | GetSurfaceStreamlines () |
Specify whether streamlines should be computed on a surface. | |
virtual void | SetSurfaceStreamlines (bool) |
Specify whether streamlines should be computed on a surface. | |
virtual void | SurfaceStreamlinesOn () |
Specify whether streamlines should be computed on a surface. | |
virtual void | SurfaceStreamlinesOff () |
Specify whether streamlines should be computed on a surface. | |
virtual void | SetIntegrationDirection (int) |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions. | |
virtual int | GetIntegrationDirection () |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions. | |
void | SetIntegrationDirectionToForward () |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions. | |
void | SetIntegrationDirectionToBackward () |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions. | |
void | SetIntegrationDirectionToBoth () |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions. | |
virtual void | SetComputeVorticity (bool) |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter). | |
virtual bool | GetComputeVorticity () |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter). | |
virtual void | SetRotationScale (double) |
This can be used to scale the rate with which the streamribbons twist. | |
virtual double | GetRotationScale () |
This can be used to scale the rate with which the streamribbons twist. | |
virtual bool | GetForceSerialExecution () |
Force the filter to run stream tracer advection in serial. | |
virtual void | SetForceSerialExecution (bool) |
Force the filter to run stream tracer advection in serial. | |
virtual void | ForceSerialExecutionOn () |
Force the filter to run stream tracer advection in serial. | |
virtual void | ForceSerialExecutionOff () |
Force the filter to run stream tracer advection in serial. | |
void | GenerateNormals (vtkPolyData *output, double *firstNormal, const char *vecName) |
Helper methods to generate normals on streamlines. | |
void | CalculateVorticity (vtkGenericCell *cell, double pcoords[3], vtkDoubleArray *cellVectors, double vorticity[3]) |
Helper methods to generate normals on streamlines. | |
virtual void | SetUseLocalSeedSource (bool) |
If true the filter considers that the whole seed source is available on all ranks. | |
virtual bool | GetUseLocalSeedSource () |
If true the filter considers that the whole seed source is available on all ranks. | |
virtual void | UseLocalSeedSourceOn () |
If true the filter considers that the whole seed source is available on all ranks. | |
virtual void | UseLocalSeedSourceOff () |
If true the filter considers that the whole seed source is available on all ranks. | |
![]() | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkPolyDataAlgorithm * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
vtkTypeBool | ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) override |
see vtkAlgorithm for details | |
vtkDataObject * | GetInput () |
vtkDataObject * | GetInput (int port) |
vtkPolyData * | GetPolyDataInput (int port) |
vtkPolyData * | GetOutput () |
Get the output data object for a port on this algorithm. | |
vtkPolyData * | GetOutput (int) |
Get the output data object for a port on this algorithm. | |
virtual void | SetOutput (vtkDataObject *d) |
Get the output data object for a port on this algorithm. | |
void | SetInputData (vtkDataObject *) |
Assign a data object as input. | |
void | SetInputData (int, vtkDataObject *) |
Assign a data object as input. | |
void | AddInputData (vtkDataObject *) |
Assign a data object as input. | |
void | AddInputData (int, vtkDataObject *) |
Assign a data object as input. | |
![]() | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkAlgorithm * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
vtkTypeBool | HasExecutive () |
Check whether this algorithm has an assigned executive. | |
vtkExecutive * | GetExecutive () |
Get this algorithm's executive. | |
virtual void | SetExecutive (vtkExecutive *executive) |
Set this algorithm's executive. | |
virtual vtkTypeBool | ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) |
Upstream/Downstream requests form the generalized interface through which executives invoke a algorithm's functionality. | |
vtkTypeBool | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
Version of ProcessRequest() that is wrapped. | |
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) |
A special version of ProcessRequest meant specifically for the pipeline modified time request. | |
virtual int | ModifyRequest (vtkInformation *request, int when) |
This method gives the algorithm a chance to modify the contents of a request before or after (specified in the when argument) it is forwarded. | |
vtkInformation * | GetInputPortInformation (int port) |
Get the information object associated with an input port. | |
vtkInformation * | GetOutputPortInformation (int port) |
Get the information object associated with an output port. | |
int | GetNumberOfInputPorts () |
Get the number of input ports used by the algorithm. | |
int | GetNumberOfOutputPorts () |
Get the number of output ports provided by the algorithm. | |
void | SetAbortExecuteAndUpdateTime () |
Set AbortExecute Flag and update LastAbortTime. | |
void | UpdateProgress (double amount) |
Update the progress of the process object. | |
bool | CheckAbort () |
Checks to see if this filter should abort. | |
vtkInformation * | GetInputArrayInformation (int idx) |
Get the info object for the specified input array to this algorithm. | |
void | RemoveAllInputs () |
Remove all the input data. | |
vtkDataObject * | GetOutputDataObject (int port) |
Get the data object that will contain the algorithm output for the given port. | |
vtkDataObject * | GetInputDataObject (int port, int connection) |
Get the data object that will contain the algorithm input for the given port and given connection. | |
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
Remove a connection from the given input port index. | |
virtual void | RemoveInputConnection (int port, int idx) |
Remove a connection given by index idx. | |
virtual void | RemoveAllInputConnections (int port) |
Removes all input connections. | |
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
Sets the data-object as an input on the given port index. | |
virtual void | SetInputDataObject (vtkDataObject *data) |
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
Add the data-object as an input to this given port. | |
virtual void | AddInputDataObject (vtkDataObject *data) |
vtkAlgorithmOutput * | GetOutputPort (int index) |
Get a proxy object corresponding to the given output port of this algorithm. | |
vtkAlgorithmOutput * | GetOutputPort () |
int | GetNumberOfInputConnections (int port) |
Get the number of inputs currently connected to a port. | |
int | GetTotalNumberOfInputConnections () |
Get the total number of inputs for this algorithm. | |
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
Get the algorithm output port connected to an input port. | |
vtkAlgorithm * | GetInputAlgorithm (int port, int index, int &algPort) |
Returns the algorithm and the output port index of that algorithm connected to a port-index pair. | |
vtkAlgorithm * | GetInputAlgorithm (int port, int index) |
Returns the algorithm connected to a port-index pair. | |
vtkAlgorithm * | GetInputAlgorithm () |
Equivalent to GetInputAlgorithm(0, 0). | |
vtkExecutive * | GetInputExecutive (int port, int index) |
Returns the executive associated with a particular input connection. | |
vtkExecutive * | GetInputExecutive () |
Equivalent to GetInputExecutive(0, 0) | |
vtkInformation * | GetInputInformation (int port, int index) |
Return the information object that is associated with a particular input connection. | |
vtkInformation * | GetInputInformation () |
Equivalent to GetInputInformation(0, 0) | |
vtkInformation * | GetOutputInformation (int port) |
Return the information object that is associated with a particular output port. | |
virtual vtkTypeBool | Update (int port, vtkInformationVector *requests) |
This method enables the passing of data requests to the algorithm to be used during execution (in addition to bringing a particular port up-to-date). | |
virtual vtkTypeBool | Update (vtkInformation *requests) |
Convenience method to update an algorithm after passing requests to its first output port. | |
virtual int | UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=nullptr) |
Convenience method to update an algorithm after passing requests to its first output port. | |
virtual VTK_UNBLOCKTHREADS int | UpdateExtent (const int extents[6]) |
Convenience method to update an algorithm after passing requests to its first output port. | |
virtual VTK_UNBLOCKTHREADS int | UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=nullptr) |
Convenience method to update an algorithm after passing requests to its first output port. | |
virtual VTK_UNBLOCKTHREADS void | UpdateInformation () |
Bring the algorithm's information up-to-date. | |
virtual void | UpdateDataObject () |
Create output object(s). | |
virtual void | PropagateUpdateExtent () |
Propagate meta-data upstream. | |
virtual VTK_UNBLOCKTHREADS void | UpdateWholeExtent () |
Bring this algorithm's outputs up-to-date. | |
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
Convenience routine to convert from a linear ordering of input connections to a port/connection pair. | |
void | RemoveNoPriorTemporalAccessInformationKey () |
Removes any information key vtkStreamingDemandDrivenPipeline::NO_PRIOR_TEMPORAL_ACCESS() to all output ports of this vtkAlgorithm . | |
virtual vtkInformation * | GetInformation () |
Set/Get the information object associated with this algorithm. | |
virtual void | SetInformation (vtkInformation *) |
Set/Get the information object associated with this algorithm. | |
bool | UsesGarbageCollector () const override |
Participate in garbage collection. | |
virtual void | SetAbortExecute (vtkTypeBool) |
Set/Get the AbortExecute flag for the process object. | |
virtual vtkTypeBool | GetAbortExecute () |
Set/Get the AbortExecute flag for the process object. | |
virtual void | AbortExecuteOn () |
Set/Get the AbortExecute flag for the process object. | |
virtual void | AbortExecuteOff () |
Set/Get the AbortExecute flag for the process object. | |
virtual double | GetProgress () |
Get the execution progress of a process object. | |
void | SetContainerAlgorithm (vtkAlgorithm *containerAlg) |
Set/get a Container algorithm for this algorithm. | |
vtkAlgorithm * | GetContainerAlgorithm () |
Set/get a Container algorithm for this algorithm. | |
virtual void | SetAbortOutput (bool) |
Set/Get an internal variable used to communicate between the algorithm and executive. | |
virtual bool | GetAbortOutput () |
Set/Get an internal variable used to communicate between the algorithm and executive. | |
void | SetProgressShiftScale (double shift, double scale) |
Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is called. | |
virtual double | GetProgressShift () |
Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is called. | |
virtual double | GetProgressScale () |
Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is called. | |
void | SetProgressText (const char *ptext) |
Set the current text message associated with the progress state. | |
virtual char * | GetProgressText () |
Set the current text message associated with the progress state. | |
virtual unsigned long | GetErrorCode () |
The error code contains a possible error that occurred while reading or writing the file. | |
void | SetInputArrayToProcess (const char *name, int fieldAssociation) |
Set the input data arrays that this algorithm will process. | |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
Set the input data arrays that this algorithm will process. | |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
Set the input data arrays that this algorithm will process. | |
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
Set the input data arrays that this algorithm will process. | |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
Set the input data arrays that this algorithm will process. | |
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
Set the connection for the given input port index. | |
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
Set the connection for the given input port index. | |
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
Add a connection to the given input port index. | |
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
Add a connection to the given input port index. | |
virtual VTK_UNBLOCKTHREADS void | Update (int port) |
Bring this algorithm's outputs up-to-date. | |
virtual VTK_UNBLOCKTHREADS void | Update () |
Bring this algorithm's outputs up-to-date. | |
virtual void | SetReleaseDataFlag (vtkTypeBool) |
Turn release data flag on or off for all output ports. | |
virtual vtkTypeBool | GetReleaseDataFlag () |
Turn release data flag on or off for all output ports. | |
void | ReleaseDataFlagOn () |
Turn release data flag on or off for all output ports. | |
void | ReleaseDataFlagOff () |
Turn release data flag on or off for all output ports. | |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0. | |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0. | |
int * | GetUpdateExtent () |
These functions return the update extent for output ports that use 3D extents. | |
int * | GetUpdateExtent (int port) |
These functions return the update extent for output ports that use 3D extents. | |
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
These functions return the update extent for output ports that use 3D extents. | |
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
These functions return the update extent for output ports that use 3D extents. | |
void | GetUpdateExtent (int extent[6]) |
These functions return the update extent for output ports that use 3D extents. | |
void | GetUpdateExtent (int port, int extent[6]) |
These functions return the update extent for output ports that use 3D extents. | |
int | GetUpdatePiece () |
These functions return the update extent for output ports that use piece extents. | |
int | GetUpdatePiece (int port) |
These functions return the update extent for output ports that use piece extents. | |
int | GetUpdateNumberOfPieces () |
These functions return the update extent for output ports that use piece extents. | |
int | GetUpdateNumberOfPieces (int port) |
These functions return the update extent for output ports that use piece extents. | |
int | GetUpdateGhostLevel () |
These functions return the update extent for output ports that use piece extents. | |
int | GetUpdateGhostLevel (int port) |
These functions return the update extent for output ports that use piece extents. | |
void | SetProgressObserver (vtkProgressObserver *) |
If an ProgressObserver is set, the algorithm will report progress through it rather than directly. | |
virtual vtkProgressObserver * | GetProgressObserver () |
If an ProgressObserver is set, the algorithm will report progress through it rather than directly. | |
void | SetNoPriorTemporalAccessInformationKey (int key) |
Set to all output ports of this algorithm the information key vtkStreamingDemandDrivenPipeline::NO_PRIOR_TEMPORAL_ACCESS() . | |
void | SetNoPriorTemporalAccessInformationKey () |
Set to all output ports of this algorithm the information key vtkStreamingDemandDrivenPipeline::NO_PRIOR_TEMPORAL_ACCESS() . | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
vtkTypeBool | InvokeEvent (unsigned long event) |
vtkTypeBool | InvokeEvent (const char *event) |
std::string | GetObjectDescription () const override |
The object description printed in messages and PrintSelf output. | |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. | |
vtkTypeBool | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
vtkTypeBool | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
virtual void | SetObjectName (const std::string &objectName) |
Set/get the name of this object for reporting purposes. | |
virtual std::string | GetObjectName () const |
Set/get the name of this object for reporting purposes. | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual std::string | GetObjectDescription () const |
The object description printed in messages and PrintSelf output. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
Static Public Member Functions | |
static vtkStreamTracer * | New () |
Construct the object to start from position (0,0,0), with forward integration, terminal speed 1.0E-12, vorticity computation on, integration step size 0.5 (in cell length unit), maximum number of steps 2000, using Runge-Kutta2, and maximum propagation 1.0 (in arc length unit). | |
![]() | |
static vtkPolyDataAlgorithm * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkPolyDataAlgorithm * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static vtkAlgorithm * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkAlgorithm * | SafeDownCast (vtkObjectBase *o) |
static vtkInformationIntegerKey * | INPUT_IS_OPTIONAL () |
Keys used to specify input port requirements. | |
static vtkInformationIntegerKey * | INPUT_IS_REPEATABLE () |
static vtkInformationInformationVectorKey * | INPUT_REQUIRED_FIELDS () |
static vtkInformationStringVectorKey * | INPUT_REQUIRED_DATA_TYPE () |
static vtkInformationInformationVectorKey * | INPUT_ARRAYS_TO_PROCESS () |
static vtkInformationIntegerKey * | INPUT_PORT () |
static vtkInformationIntegerKey * | INPUT_CONNECTION () |
static vtkInformationIntegerKey * | CAN_PRODUCE_SUB_EXTENT () |
This key tells the executive that a particular output port is capable of producing an arbitrary subextent of the whole extent. | |
static vtkInformationIntegerKey * | CAN_HANDLE_PIECE_REQUEST () |
Key that tells the pipeline that a particular algorithm can or cannot handle piece request. | |
static vtkInformationIntegerKey * | ABORTED () |
static void | SetDefaultExecutivePrototype (vtkExecutive *proto) |
If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using NewInstance(). | |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (vtkTypeBool val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static vtkTypeBool | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Protected Member Functions | |
vtkStreamTracer () | |
~vtkStreamTracer () override | |
vtkExecutive * | CreateDefaultExecutive () override |
Create a default executive. | |
void | AddInput (vtkDataObject *) |
int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) override |
This is called by the superclass. | |
int | FillInputPortInformation (int, vtkInformation *) override |
Fill the input port information objects for this algorithm. | |
void | Integrate (vtkPointData *inputData, vtkPolyData *output, vtkDataArray *seedSource, vtkIdList *seedIds, vtkIntArray *integrationDirections, vtkAbstractInterpolatedVelocityField *func, int maxCellSize, int vecType, const char *vecFieldName, double &propagation, vtkIdType &numSteps, double &integrationTime, std::vector< CustomTerminationCallbackType > &customTerminationCallback, std::vector< void * > &customTerminationClientData, std::vector< int > &customReasonForTermination) |
double | SimpleIntegrate (double seed[3], double lastPoint[3], double stepSize, vtkAbstractInterpolatedVelocityField *func) |
int | CheckInputs (vtkAbstractInterpolatedVelocityField *&func, int *maxCellSize) |
int | SetupOutput (vtkInformation *inInfo, vtkInformation *outInfo) |
void | InitializeSeeds (vtkDataArray *&seeds, vtkIdList *&seedIds, vtkIntArray *&integrationDirections, vtkDataSet *source) |
![]() | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkPolyDataAlgorithm () | |
~vtkPolyDataAlgorithm () override | |
virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
This is called by the superclass. | |
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
This is called by the superclass. | |
virtual int | RequestUpdateTime (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
This is called by the superclass. | |
int | FillOutputPortInformation (int port, vtkInformation *info) override |
Fill the output port information objects for this algorithm. | |
int | FillInputPortInformation (int port, vtkInformation *info) override |
Fill the input port information objects for this algorithm. | |
![]() | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkAlgorithm () | |
~vtkAlgorithm () override | |
bool | CheckUpstreamAbort () |
Checks to see if an upstream filter has been aborted. | |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
Fill the input port information objects for this algorithm. | |
virtual int | FillOutputPortInformation (int port, vtkInformation *info) |
Fill the output port information objects for this algorithm. | |
virtual void | SetNumberOfInputPorts (int n) |
Set the number of input ports used by the algorithm. | |
virtual void | SetNumberOfOutputPorts (int n) |
Set the number of output ports provided by the algorithm. | |
int | InputPortIndexInRange (int index, const char *action) |
int | OutputPortIndexInRange (int index, const char *action) |
int | GetInputArrayAssociation (int idx, vtkInformationVector **inputVector) |
Get the association of the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. | |
vtkInformation * | GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector) |
This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vector. | |
virtual vtkExecutive * | CreateDefaultExecutive () |
Create a default executive. | |
void | ReportReferences (vtkGarbageCollector *) override |
virtual void | SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input) |
Replace the Nth connection on the given input port. | |
virtual void | SetNumberOfInputConnections (int port, int n) |
Set the number of input connections on the given input port. | |
void | SetInputDataInternal (int port, vtkDataObject *input) |
These methods are used by subclasses to implement methods to set data objects directly as input. | |
void | AddInputDataInternal (int port, vtkDataObject *input) |
int | GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector) |
Filters that have multiple connections on one port can use this signature. | |
int | GetInputArrayAssociation (int idx, vtkDataObject *input) |
Filters that have multiple connections on one port can use this signature. | |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector) |
Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. | |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. | |
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
Filters that have multiple connections on one port can use this signature. | |
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
Filters that have multiple connections on one port can use this signature. | |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input) |
Filters that have multiple connections on one port can use this signature. | |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input, int &association) |
Filters that have multiple connections on one port can use this signature. | |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector) |
Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. | |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. | |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
Filters that have multiple connections on one port can use this signature. | |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
Filters that have multiple connections on one port can use this signature. | |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input) |
Filters that have multiple connections on one port can use this signature. | |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association) |
Filters that have multiple connections on one port can use this signature. | |
virtual void | SetErrorCode (unsigned long) |
The error code contains a possible error that occurred while reading or writing the file. | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
virtual void | ObjectFinalize () |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Static Protected Attributes | |
static const double | EPSILON |
![]() | |
static vtkTimeStamp | LastAbortTime |
static vtkExecutive * | DefaultExecutivePrototype |
Friends | |
class | PStreamTracerUtils |
typedef vtkPolyDataAlgorithm | Superclass |
Standard methods to obtain type information and print object state. | |
static vtkTypeBool | IsTypeOf (const char *type) |
Standard methods to obtain type information and print object state. | |
static vtkStreamTracer * | SafeDownCast (vtkObjectBase *o) |
Standard methods to obtain type information and print object state. | |
virtual vtkTypeBool | IsA (const char *type) |
Standard methods to obtain type information and print object state. | |
vtkStreamTracer * | NewInstance () const |
Standard methods to obtain type information and print object state. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Standard methods to obtain type information and print object state. | |
virtual vtkObjectBase * | NewInstanceInternal () const |
Standard methods to obtain type information and print object state. | |
Additional Inherited Members | |
![]() | |
std::atomic< vtkTypeBool > | AbortExecute |
![]() | |
static vtkInformationIntegerKey * | PORT_REQUIREMENTS_FILLED () |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
Streamline generator.
vtkStreamTracer is a filter that integrates a vector field to generate streamlines. The integration is performed using a specified integrator, by default Runge-Kutta2.
vtkStreamTracer produces polylines as the output, with each cell (i.e., polyline) representing a streamline. The attribute values associated with each streamline are stored in the cell data, whereas those associated with streamline-points are stored in the point data.
vtkStreamTracer supports forward (the default), backward, and combined (i.e., BOTH) integration. The length of a streamline is governed by specifying a maximum value either in physical arc length or in (local) cell length. Otherwise, the integration terminates upon exiting the flow field domain, or if the particle speed is reduced to a value less than a specified terminal speed, or when a maximum number of steps is completed. The specific reason for the termination is stored in a cell array named ReasonForTermination.
Note that normalized vectors are adopted in streamline integration, which achieves high numerical accuracy/smoothness of flow lines that is particularly guaranteed for Runge-Kutta45 with adaptive step size and error control). In support of this feature, the underlying step size is ALWAYS in arc length unit (LENGTH_UNIT) while the 'real' time interval (virtual for steady flows) that a particle actually takes to trave in a single step is obtained by dividing the arc length by the LOCAL speed. The overall elapsed time (i.e., the life span) of the particle is the sum of those individual step-wise time intervals.
The quality of streamline integration can be controlled by setting the initial integration step (InitialIntegrationStep), particularly for Runge-Kutta2 and Runge-Kutta4 (with a fixed step size), and in the case of Runge-Kutta45 (with an adaptive step size and error control) the minimum integration step, the maximum integration step, and the maximum error. These steps are in either LENGTH_UNIT or CELL_LENGTH_UNIT while the error is in physical arc length. For the former two integrators, there is a trade-off between integration speed and streamline quality.
The integration time, vorticity, rotation and angular velocity are stored in point data arrays named "IntegrationTime", "Vorticity", "Rotation" and "AngularVelocity", respectively (vorticity, rotation and angular velocity are computed only when ComputeVorticity is on). All point data attributes in the source dataset are interpolated on the new streamline points.
vtkStreamTracer supports integration through any type of dataset. Thus if the dataset contains 2D cells like polygons or triangles, the integration is constrained to lie on the surface defined by 2D cells.
The starting point, or the so-called 'seed', of a streamline may be set in two different ways. Starting from global x-y-z "position" allows you to start a single trace at a specified x-y-z coordinate. If you specify a source object, traces will be generated from each point in the source that is inside the dataset. Note that if the integration direction is BOTH, then potentially 2N streamlines will be generated given N seed points.
Definition at line 239 of file vtkStreamTracer.h.
Standard methods to obtain type information and print object state.
Definition at line 255 of file vtkStreamTracer.h.
Enumerator | |
---|---|
LENGTH_UNIT | |
CELL_LENGTH_UNIT |
Definition at line 296 of file vtkStreamTracer.h.
Enumerator | |
---|---|
RUNGE_KUTTA2 | |
RUNGE_KUTTA4 | |
RUNGE_KUTTA45 | |
NONE | |
UNKNOWN |
Definition at line 302 of file vtkStreamTracer.h.
Enumerator | |
---|---|
OUT_OF_DOMAIN | |
NOT_INITIALIZED | |
UNEXPECTED_VALUE | |
OUT_OF_LENGTH | |
OUT_OF_STEPS | |
STAGNATION | |
FIXED_REASONS_FOR_TERMINATION_COUNT |
Definition at line 311 of file vtkStreamTracer.h.
anonymous enum |
Enumerator | |
---|---|
FORWARD | |
BACKWARD | |
BOTH |
Definition at line 452 of file vtkStreamTracer.h.
anonymous enum |
Enumerator | |
---|---|
INTERPOLATOR_WITH_DATASET_POINT_LOCATOR | |
INTERPOLATOR_WITH_CELL_LOCATOR |
Definition at line 459 of file vtkStreamTracer.h.
|
protected |
|
overrideprotected |
|
static |
Construct the object to start from position (0,0,0), with forward integration, terminal speed 1.0E-12, vorticity computation on, integration step size 0.5 (in cell length unit), maximum number of steps 2000, using Runge-Kutta2, and maximum propagation 1.0 (in arc length unit).
|
static |
Standard methods to obtain type information and print object state.
|
virtual |
Standard methods to obtain type information and print object state.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkStreamSurface, and vtkPStreamTracer.
|
static |
Standard methods to obtain type information and print object state.
|
protectedvirtual |
Standard methods to obtain type information and print object state.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkStreamSurface, and vtkPStreamTracer.
vtkStreamTracer * vtkStreamTracer::NewInstance | ( | ) | const |
Standard methods to obtain type information and print object state.
|
overridevirtual |
Standard methods to obtain type information and print object state.
Reimplemented from vtkPolyDataAlgorithm.
|
virtual |
Specify the starting point (seed) of a streamline in the global coordinate system.
Search must be performed to find the initial cell from which to start integration.
|
virtual |
Specify the starting point (seed) of a streamline in the global coordinate system.
Search must be performed to find the initial cell from which to start integration.
|
virtual |
Specify the starting point (seed) of a streamline in the global coordinate system.
Search must be performed to find the initial cell from which to start integration.
|
virtual |
Specify the starting point (seed) of a streamline in the global coordinate system.
Search must be performed to find the initial cell from which to start integration.
|
virtual |
Specify the starting point (seed) of a streamline in the global coordinate system.
Search must be performed to find the initial cell from which to start integration.
void vtkStreamTracer::SetSourceData | ( | vtkDataSet * | source | ) |
Specify the source object used to generate starting points (seeds).
Note that this method does not connect the pipeline. The algorithm will work on the input data as it is without updating the producer of the data. See SetSourceConnection for connecting the pipeline.
vtkDataSet * vtkStreamTracer::GetSource | ( | ) |
Specify the source object used to generate starting points (seeds).
Note that this method does not connect the pipeline. The algorithm will work on the input data as it is without updating the producer of the data. See SetSourceConnection for connecting the pipeline.
void vtkStreamTracer::SetSourceConnection | ( | vtkAlgorithmOutput * | algOutput | ) |
Specify the source object used to generate starting points (seeds).
This method connects to the pipeline: the Source will be updated and the results used as streamline seeds.
void vtkStreamTracer::SetIntegrator | ( | vtkInitialValueProblemSolver * | ) |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
|
virtual |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
void vtkStreamTracer::SetIntegratorType | ( | int | type | ) |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
int vtkStreamTracer::GetIntegratorType | ( | ) |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
|
inline |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
Definition at line 337 of file vtkStreamTracer.h.
|
inline |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
Definition at line 338 of file vtkStreamTracer.h.
|
inline |
Set/get the integrator type to be used for streamline generation.
The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is Runge-Kutta2. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2
Definition at line 339 of file vtkStreamTracer.h.
void vtkStreamTracer::SetInterpolatorTypeToDataSetPointLocator | ( | ) |
Set the velocity field interpolator type to one that uses a point locator to perform local spatial searching.
Typically a point locator is faster than searches with a cell locator, but it may not always find the correct cells enclosing a point. This is particularly true with meshes that are disjoint at seams, or abut meshes in an incompatible manner. By default (and if a InterpolationPrototype is not set), a point locator is used.
void vtkStreamTracer::SetInterpolatorTypeToCellLocator | ( | ) |
Set the velocity field interpolator type to one that uses a cell locator to perform spatial searching.
Using a cell locator should always return the correct results, but it can be much slower that point locator-based searches.
|
virtual |
Specify the maximum length of a streamline expressed in LENGTH_UNIT.
|
virtual |
Specify the maximum length of a streamline expressed in LENGTH_UNIT.
void vtkStreamTracer::SetIntegrationStepUnit | ( | int | unit | ) |
Specify a uniform integration step unit for MinimumIntegrationStep, InitialIntegrationStep, and MaximumIntegrationStep.
NOTE: The valid unit is now limited to only LENGTH_UNIT (1) and CELL_LENGTH_UNIT (2), EXCLUDING the previously-supported TIME_UNIT.
|
inline |
Definition at line 376 of file vtkStreamTracer.h.
|
virtual |
Specify the Initial step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (either the starting size for an adaptive integrator, e.g., RK45, or the constant / fixed size for non-adaptive ones, i.e., RK2 and RK4)
|
virtual |
Specify the Initial step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (either the starting size for an adaptive integrator, e.g., RK45, or the constant / fixed size for non-adaptive ones, i.e., RK2 and RK4)
|
virtual |
Specify the Minimum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45)
|
virtual |
Specify the Minimum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45)
|
virtual |
Specify the Maximum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45)
|
virtual |
Specify the Maximum step size used for line integration, expressed in: LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 (Only valid for an adaptive integrator, e.g., RK45)
|
virtual |
Specify the maximum error tolerated throughout streamline integration.
|
virtual |
Specify the maximum error tolerated throughout streamline integration.
|
virtual |
Specify the maximum number of steps for integrating a streamline.
Note that the number of steps generated is always one greater than MaximumNumberOfSteps. So if MaximumNumberOfSteps==0, then only one step will be generated. This is useful for advection situations when the stream tracer is to be propagated just one step at a time (e.g., see vtkStreamSurface which depends on this behavior).
|
virtual |
Specify the maximum number of steps for integrating a streamline.
Note that the number of steps generated is always one greater than MaximumNumberOfSteps. So if MaximumNumberOfSteps==0, then only one step will be generated. This is useful for advection situations when the stream tracer is to be propagated just one step at a time (e.g., see vtkStreamSurface which depends on this behavior).
|
virtual |
Specify the terminal speed value, below which streamline integration is terminated.
|
virtual |
Specify the terminal speed value, below which streamline integration is terminated.
|
virtual |
Specify whether streamlines should be computed on a surface.
The input should contains only 2D planar cells for this option to work as expected.
|
virtual |
Specify whether streamlines should be computed on a surface.
The input should contains only 2D planar cells for this option to work as expected.
|
virtual |
Specify whether streamlines should be computed on a surface.
The input should contains only 2D planar cells for this option to work as expected.
|
virtual |
Specify whether streamlines should be computed on a surface.
The input should contains only 2D planar cells for this option to work as expected.
|
virtual |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions.
(If integrated in both directions, two separate streamlines are generated, both of which which start at the seed point with one traveling in the forward direction, and one in the backward direction.)
|
virtual |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions.
(If integrated in both directions, two separate streamlines are generated, both of which which start at the seed point with one traveling in the forward direction, and one in the backward direction.)
|
inline |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions.
(If integrated in both directions, two separate streamlines are generated, both of which which start at the seed point with one traveling in the forward direction, and one in the backward direction.)
Definition at line 475 of file vtkStreamTracer.h.
|
inline |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions.
(If integrated in both directions, two separate streamlines are generated, both of which which start at the seed point with one traveling in the forward direction, and one in the backward direction.)
Definition at line 476 of file vtkStreamTracer.h.
|
inline |
Specify whether the streamline is integrated in the upstream or downstream direction, or in both directions.
(If integrated in both directions, two separate streamlines are generated, both of which which start at the seed point with one traveling in the forward direction, and one in the backward direction.)
Definition at line 477 of file vtkStreamTracer.h.
|
virtual |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter).
|
virtual |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter).
|
virtual |
This can be used to scale the rate with which the streamribbons twist.
The default is 1.
|
virtual |
This can be used to scale the rate with which the streamribbons twist.
The default is 1.
void vtkStreamTracer::SetInterpolatorPrototype | ( | vtkAbstractInterpolatedVelocityField * | ivf | ) |
The object used to interpolate the velocity field during integration is of the same class as this prototype.
The performance of streamline generations can be significantly affected by the choice of the interpolator, particularly its use of the locator to use.
For non AMR datasets, initialize a vtkCompositeInterpolatedVelocityField and set the FindCellStrategyType.
void vtkStreamTracer::SetInterpolatorType | ( | int | interpType | ) |
Set the type of the velocity field interpolator to determine whether INTERPOLATOR_WITH_DATASET_POINT_LOCATOR or INTERPOLATOR_WITH_CELL_LOCATOR is employed for locating cells during streamline integration.
The latter (adopting vtkAbstractCellLocator sub-classes such as vtkCellLocator and vtkModifiedBSPTree) is more robust than the former (through vtkDataSet / vtkPointSet::FindCell() coupled with vtkPointLocator). However the former can be much faster and produce adequate results.
|
virtual |
Force the filter to run stream tracer advection in serial.
This affects the filter only if more than one streamline is to be generated.
|
virtual |
Force the filter to run stream tracer advection in serial.
This affects the filter only if more than one streamline is to be generated.
|
virtual |
Force the filter to run stream tracer advection in serial.
This affects the filter only if more than one streamline is to be generated.
|
virtual |
Force the filter to run stream tracer advection in serial.
This affects the filter only if more than one streamline is to be generated.
void vtkStreamTracer::AddCustomTerminationCallback | ( | CustomTerminationCallbackType | callback, |
void * | clientdata, | ||
int | reasonForTermination | ||
) |
Adds a custom termination callback.
callback is a function provided by the user that says if the streamline should be terminated. clientdata user specific data passed to the callback. reasonForTermination this value will be set in the ReasonForTermination cell array if the streamline is terminated by this callback.
void vtkStreamTracer::ConvertIntervals | ( | double & | step, |
double & | minStep, | ||
double & | maxStep, | ||
int | direction, | ||
double | cellLength | ||
) |
The following methods should not be called by the user.
They serve as integration bridges between this vtkStreamTracer class and classes defined and implemented in anonymous namespace. Helper method to convert between length scales. Made public so internal threaded classes in anonymous namespace can invoke the method.
void vtkStreamTracer::GenerateNormals | ( | vtkPolyData * | output, |
double * | firstNormal, | ||
const char * | vecName | ||
) |
Helper methods to generate normals on streamlines.
Made public so internal threaded classes in anonymous namespace can invoke the methods.
void vtkStreamTracer::CalculateVorticity | ( | vtkGenericCell * | cell, |
double | pcoords[3], | ||
vtkDoubleArray * | cellVectors, | ||
double | vorticity[3] | ||
) |
Helper methods to generate normals on streamlines.
Made public so internal threaded classes in anonymous namespace can invoke the methods.
|
virtual |
If true the filter considers that the whole seed source is available on all ranks.
Else the filter will aggregate all seed sources from all ranks and merge their points.
This property only makes sense when the filter is parallelized and is a no-op for its sequential version. However, this member function needs to be defined in this class to maintain a uniform interface between vtkStreamTracer and its parallel override class, vtkPStreamTracer. Default is true.
|
virtual |
If true the filter considers that the whole seed source is available on all ranks.
Else the filter will aggregate all seed sources from all ranks and merge their points.
This property only makes sense when the filter is parallelized and is a no-op for its sequential version. However, this member function needs to be defined in this class to maintain a uniform interface between vtkStreamTracer and its parallel override class, vtkPStreamTracer. Default is true.
|
virtual |
If true the filter considers that the whole seed source is available on all ranks.
Else the filter will aggregate all seed sources from all ranks and merge their points.
This property only makes sense when the filter is parallelized and is a no-op for its sequential version. However, this member function needs to be defined in this class to maintain a uniform interface between vtkStreamTracer and its parallel override class, vtkPStreamTracer. Default is true.
|
virtual |
If true the filter considers that the whole seed source is available on all ranks.
Else the filter will aggregate all seed sources from all ranks and merge their points.
This property only makes sense when the filter is parallelized and is a no-op for its sequential version. However, this member function needs to be defined in this class to maintain a uniform interface between vtkStreamTracer and its parallel override class, vtkPStreamTracer. Default is true.
|
overrideprotectedvirtual |
Create a default executive.
If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using NewInstance(). Otherwise, vtkStreamingDemandDrivenPipeline is created.
Reimplemented from vtkAlgorithm.
|
inlineprotected |
Definition at line 587 of file vtkStreamTracer.h.
|
overrideprotectedvirtual |
This is called by the superclass.
This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
|
overrideprotectedvirtual |
Fill the input port information objects for this algorithm.
This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPolyDataAlgorithm.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
friend |
Definition at line 665 of file vtkStreamTracer.h.
|
protected |
Definition at line 606 of file vtkStreamTracer.h.
|
protected |
Definition at line 609 of file vtkStreamTracer.h.
|
staticprotected |
Definition at line 611 of file vtkStreamTracer.h.
|
protected |
Definition at line 612 of file vtkStreamTracer.h.
|
protected |
Definition at line 615 of file vtkStreamTracer.h.
|
protected |
Definition at line 617 of file vtkStreamTracer.h.
|
protected |
Definition at line 618 of file vtkStreamTracer.h.
|
protected |
Definition at line 619 of file vtkStreamTracer.h.
|
protected |
Definition at line 620 of file vtkStreamTracer.h.
|
protected |
Definition at line 626 of file vtkStreamTracer.h.
|
protected |
Definition at line 627 of file vtkStreamTracer.h.
|
protected |
Definition at line 630 of file vtkStreamTracer.h.
|
protected |
Definition at line 632 of file vtkStreamTracer.h.
|
protected |
Definition at line 633 of file vtkStreamTracer.h.
|
protected |
Definition at line 635 of file vtkStreamTracer.h.
|
protected |
Definition at line 636 of file vtkStreamTracer.h.
|
protected |
Definition at line 639 of file vtkStreamTracer.h.
|
protected |
Definition at line 641 of file vtkStreamTracer.h.
|
protected |
Definition at line 647 of file vtkStreamTracer.h.
|
protected |
Definition at line 648 of file vtkStreamTracer.h.
|
protected |
Definition at line 650 of file vtkStreamTracer.h.
|
protected |
Definition at line 653 of file vtkStreamTracer.h.
|
protected |
Definition at line 654 of file vtkStreamTracer.h.
|
protected |
Definition at line 656 of file vtkStreamTracer.h.
|
protected |
Definition at line 657 of file vtkStreamTracer.h.
|
protected |
Definition at line 658 of file vtkStreamTracer.h.
|
protected |
Definition at line 663 of file vtkStreamTracer.h.