vtkStreamTracer Class Reference

#include <vtkStreamTracer.h>

Inheritance diagram for vtkStreamTracer:

Inheritance graph
[legend]
Collaboration diagram for vtkStreamTracer:

Collaboration graph
[legend]

List of all members.


Detailed Description

Streamline generator.

vtkStreamTracer is a filter that integrates a vector field to generate streamlines. The integration is performed using the provided integrator. The default is second order Runge-Kutta.

vtkStreamTracer generate polylines as output. Each cell (polyline) corresponds to one streamline. The values associated with each streamline are stored in the cell data whereas the values associated with points are stored in point data.

Note that vtkStreamTracer can integrate both forward and backward. The length of the streamline is controlled by specifying either a maximum value in the units of length, cell length or elapsed time (the elapsed time is the time each particle would have traveled if flow were steady). Otherwise, the integration terminates after exiting the dataset or if the particle speed is reduced to a value less than the terminal speed or when a maximum number of steps is reached. The reason for the termination is stored in a cell array named ReasonForTermination.

The quality of integration can be controlled by setting integration step (InitialIntegrationStep) and in the case of adaptive solvers the maximum error, the minimum integration step and the maximum integration step. All of these can have units of length, cell length or elapsed time.

The integration time, vorticity, rotation and angular velocity are stored in point arrays named "IntegrationTime", "Vorticity", "Rotation" and "AngularVelocity" respectively (vorticity, rotation and angular velocity are computed only when ComputeVorticity is on). All point attributes in the source data set are interpolated on the new streamline points.

vtkStreamTracer integrates through any type of dataset. As a result, if the dataset contains 2D cells such as polygons or triangles, the integration is constrained to lie on the surface defined by the 2D cells.

The starting point of traces may be defined 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, a trace will be generated for each point in the source that is inside the dataset.

See also:
vtkRibbonFilter vtkRuledSurfaceFilter vtkInitialValueProblemSolver vtkRungeKutta2 vtkRungeKutta4 vtkRungeKutta45
Tests:
vtkStreamTracer (Tests)

Definition at line 84 of file vtkStreamTracer.h.


Public Types

enum  Units { TIME_UNIT, LENGTH_UNIT, CELL_LENGTH_UNIT }
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_TIME = 4,
  OUT_OF_STEPS = 5, STAGNATION = 6
}
enum  { FORWARD, BACKWARD, BOTH }
typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void SetSourceConnection (vtkAlgorithmOutput *algOutput)
void SetInterpolatorPrototype (vtkInterpolatedVelocityField *ivf)
virtual void SetStartPosition (double, double, double)
virtual void SetStartPosition (double[3])
virtual double * GetStartPosition ()
virtual void GetStartPosition (double &, double &, double &)
virtual void GetStartPosition (double[3])
void SetSource (vtkDataSet *source)
vtkDataSetGetSource ()
void SetIntegrator (vtkInitialValueProblemSolver *)
virtual
vtkInitialValueProblemSolver
GetIntegrator ()
void SetIntegratorType (int type)
int GetIntegratorType ()
void SetIntegratorTypeToRungeKutta2 ()
void SetIntegratorTypeToRungeKutta4 ()
void SetIntegratorTypeToRungeKutta45 ()
void SetMaximumPropagation (int unit, double max)
void SetMaximumPropagation (double max)
void SetMaximumPropagationUnit (int unit)
int GetMaximumPropagationUnit ()
double GetMaximumPropagation ()
void SetMaximumPropagationUnitToTimeUnit ()
void SetMaximumPropagationUnitToLengthUnit ()
void SetMaximumPropagationUnitToCellLengthUnit ()
void SetMinimumIntegrationStep (int unit, double step)
void SetMinimumIntegrationStepUnit (int unit)
void SetMinimumIntegrationStep (double step)
int GetMinimumIntegrationStepUnit ()
double GetMinimumIntegrationStep ()
void SetMinimumIntegrationStepUnitToTimeUnit ()
void SetMinimumIntegrationStepUnitToLengthUnit ()
void SetMinimumIntegrationStepUnitToCellLengthUnit ()
void SetMaximumIntegrationStep (int unit, double step)
void SetMaximumIntegrationStepUnit (int unit)
void SetMaximumIntegrationStep (double step)
int GetMaximumIntegrationStepUnit ()
double GetMaximumIntegrationStep ()
void SetMaximumIntegrationStepUnitToTimeUnit ()
void SetMaximumIntegrationStepUnitToLengthUnit ()
void SetMaximumIntegrationStepUnitToCellLengthUnit ()
void SetInitialIntegrationStep (int unit, double step)
void SetInitialIntegrationStepUnit (int unit)
void SetInitialIntegrationStep (double step)
int GetInitialIntegrationStepUnit ()
double GetInitialIntegrationStep ()
void SetInitialIntegrationStepUnitToTimeUnit ()
void SetInitialIntegrationStepUnitToLengthUnit ()
void SetInitialIntegrationStepUnitToCellLengthUnit ()
virtual void SetMaximumError (double)
virtual double GetMaximumError ()
virtual void SetMaximumNumberOfSteps (vtkIdType)
virtual vtkIdType GetMaximumNumberOfSteps ()
virtual void SetTerminalSpeed (double)
virtual double GetTerminalSpeed ()
virtual void SetIntegrationDirection (int)
virtual int GetIntegrationDirection ()
void SetIntegrationDirectionToForward ()
void SetIntegrationDirectionToBackward ()
void SetIntegrationDirectionToBoth ()
virtual void SetComputeVorticity (int)
virtual int GetComputeVorticity ()
virtual void ComputeVorticityOn ()
virtual void ComputeVorticityOff ()
virtual void SetRotationScale (double)
virtual double GetRotationScale ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkStreamTracerSafeDownCast (vtkObject *o)
static vtkStreamTracerNew ()

Protected Member Functions

 vtkStreamTracer ()
 ~vtkStreamTracer ()
virtual vtkExecutiveCreateDefaultExecutive ()
void AddInput (vtkDataObject *)
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation (int, vtkInformation *)
void CalculateVorticity (vtkGenericCell *cell, double pcoords[3], vtkDoubleArray *cellVectors, double vorticity[3])
void Integrate (vtkDataSet *input, vtkPolyData *output, vtkDataArray *seedSource, vtkIdList *seedIds, vtkIntArray *integrationDirections, double lastPoint[3], vtkInterpolatedVelocityField *func, int maxCellSize, const char *vecFieldName, double &propagation, vtkIdType &numSteps)
void SimpleIntegrate (double seed[3], double lastPoint[3], double delt, vtkInterpolatedVelocityField *func)
int CheckInputs (vtkInterpolatedVelocityField *&func, int *maxCellSize)
void GenerateNormals (vtkPolyData *output, double *firstNormal, const char *vecName)
void SetIntervalInformation (int unit, double interval, IntervalInformation &currentValues)
void SetIntervalInformation (int unit, IntervalInformation &currentValues)
void ConvertIntervals (double &step, double &minStep, double &maxStep, int direction, double cellLength, double speed)
int SetupOutput (vtkInformation *inInfo, vtkInformation *outInfo)
void InitializeSeeds (vtkDataArray *&seeds, vtkIdList *&seedIds, vtkIntArray *&integrationDirections, vtkDataSet *source)

Static Protected Member Functions

static double ConvertToTime (IntervalInformation &interval, double cellLength, double speed)
static double ConvertToLength (IntervalInformation &interval, double cellLength, double speed)
static double ConvertToCellLength (IntervalInformation &interval, double cellLength, double speed)
static double ConvertToUnit (IntervalInformation &interval, int unit, double cellLength, double speed)

Protected Attributes

int GenerateNormalsInIntegrate
double StartPosition [3]
double TerminalSpeed
double LastUsedTimeStep
IntervalInformation MaximumPropagation
IntervalInformation MinimumIntegrationStep
IntervalInformation MaximumIntegrationStep
IntervalInformation InitialIntegrationStep
int IntegrationDirection
vtkInitialValueProblemSolverIntegrator
double MaximumError
vtkIdType MaximumNumberOfSteps
int ComputeVorticity
double RotationScale
vtkInterpolatedVelocityFieldInterpolatorPrototype
vtkCompositeDataSetInputData

Static Protected Attributes

static const double EPSILON

Classes

struct  IntervalInformation

Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented in vtkDistributedStreamTracer, vtkPStreamTracer, and vtkTemporalStreamTracer.

Definition at line 87 of file vtkStreamTracer.h.


Member Enumeration Documentation

Enumerator:
TIME_UNIT 
LENGTH_UNIT 
CELL_LENGTH_UNIT 

Reimplemented in vtkTemporalStreamTracer.

Definition at line 116 of file vtkStreamTracer.h.

Enumerator:
RUNGE_KUTTA2 
RUNGE_KUTTA4 
RUNGE_KUTTA45 
NONE 
UNKNOWN 

Definition at line 123 of file vtkStreamTracer.h.

Enumerator:
OUT_OF_DOMAIN 
NOT_INITIALIZED 
UNEXPECTED_VALUE 
OUT_OF_TIME 
OUT_OF_STEPS 
STAGNATION 

Definition at line 132 of file vtkStreamTracer.h.

anonymous enum

Enumerator:
FORWARD 
BACKWARD 
BOTH 

Definition at line 252 of file vtkStreamTracer.h.


Constructor & Destructor Documentation

vtkStreamTracer::vtkStreamTracer (  )  [protected]

vtkStreamTracer::~vtkStreamTracer (  )  [protected]


Member Function Documentation

virtual const char* vtkStreamTracer::GetClassName (  )  [virtual]

static int vtkStreamTracer::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented in vtkDistributedStreamTracer, vtkPStreamTracer, and vtkTemporalStreamTracer.

virtual int vtkStreamTracer::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented in vtkDistributedStreamTracer, vtkPStreamTracer, and vtkTemporalStreamTracer.

static vtkStreamTracer* vtkStreamTracer::SafeDownCast ( vtkObject o  )  [static]

void vtkStreamTracer::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented in vtkDistributedStreamTracer, vtkPStreamTracer, and vtkTemporalStreamTracer.

static vtkStreamTracer* vtkStreamTracer::New (  )  [static]

Construct object to start from position (0,0,0), integrate forward, terminal speed 1.0E-12, vorticity computation on, integration step length 0.5 (unit cell length), maximum number of steps 2000, using 2nd order Runge Kutta and maximum propagation 1.0 (unit length).

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented in vtkDistributedStreamTracer, and vtkTemporalStreamTracer.

virtual void vtkStreamTracer::SetStartPosition ( double  ,
double  ,
double   
) [virtual]

Specify the start of the streamline in the global coordinate system. Search must be performed to find initial cell to start integration from.

virtual void vtkStreamTracer::SetStartPosition ( double  [3]  )  [virtual]

Specify the start of the streamline in the global coordinate system. Search must be performed to find initial cell to start integration from.

virtual double* vtkStreamTracer::GetStartPosition (  )  [virtual]

Specify the start of the streamline in the global coordinate system. Search must be performed to find initial cell to start integration from.

virtual void vtkStreamTracer::GetStartPosition ( double &  ,
double &  ,
double &   
) [virtual]

Specify the start of the streamline in the global coordinate system. Search must be performed to find initial cell to start integration from.

virtual void vtkStreamTracer::GetStartPosition ( double  [3]  )  [virtual]

Specify the start of the streamline in the global coordinate system. Search must be performed to find initial cell to start integration from.

void vtkStreamTracer::SetSource ( vtkDataSet source  ) 

Specify the source object used to generate starting points. Old style. Do not use.

vtkDataSet* vtkStreamTracer::GetSource (  ) 

Specify the source object used to generate starting points. Old style. Do not use.

void vtkStreamTracer::SetSourceConnection ( vtkAlgorithmOutput algOutput  ) 

Specify the source object used to generate starting points. New style.

void vtkStreamTracer::SetIntegrator ( vtkInitialValueProblemSolver  ) 

Set/get the integrator type to be used in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2

virtual vtkInitialValueProblemSolver* vtkStreamTracer::GetIntegrator (  )  [virtual]

Set/get the integrator type to be used in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. 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 in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. 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 in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2

void vtkStreamTracer::SetIntegratorTypeToRungeKutta2 (  )  [inline]

Set/get the integrator type to be used in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2

Definition at line 154 of file vtkStreamTracer.h.

void vtkStreamTracer::SetIntegratorTypeToRungeKutta4 (  )  [inline]

Set/get the integrator type to be used in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2

Definition at line 156 of file vtkStreamTracer.h.

void vtkStreamTracer::SetIntegratorTypeToRungeKutta45 (  )  [inline]

Set/get the integrator type to be used in the stream line calculation. The object passed is not actually used but is cloned with NewInstance in the process of integration (prototype pattern). The default is 2nd order Runge Kutta. The integrator can also be changed using SetIntegratorType. The recognized solvers are: RUNGE_KUTTA2 = 0 RUNGE_KUTTA4 = 1 RUNGE_KUTTA45 = 2

Definition at line 158 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMaximumPropagation ( int  unit,
double  max 
)

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

void vtkStreamTracer::SetMaximumPropagation ( double  max  ) 

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

void vtkStreamTracer::SetMaximumPropagationUnit ( int  unit  ) 

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

int vtkStreamTracer::GetMaximumPropagationUnit (  ) 

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

double vtkStreamTracer::GetMaximumPropagation (  ) 

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

void vtkStreamTracer::SetMaximumPropagationUnitToTimeUnit (  )  [inline]

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

Definition at line 171 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMaximumPropagationUnitToLengthUnit (  )  [inline]

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

Definition at line 173 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMaximumPropagationUnitToCellLengthUnit (  )  [inline]

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 The defaults are LENGTH_UNIT, 1.0.

Definition at line 175 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMinimumIntegrationStep ( int  unit,
double  step 
)

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

void vtkStreamTracer::SetMinimumIntegrationStepUnit ( int  unit  ) 

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

void vtkStreamTracer::SetMinimumIntegrationStep ( double  step  ) 

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

int vtkStreamTracer::GetMinimumIntegrationStepUnit (  ) 

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

double vtkStreamTracer::GetMinimumIntegrationStep (  ) 

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

void vtkStreamTracer::SetMinimumIntegrationStepUnitToTimeUnit (  )  [inline]

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

Definition at line 188 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMinimumIntegrationStepUnitToLengthUnit (  )  [inline]

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

Definition at line 190 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMinimumIntegrationStepUnitToCellLengthUnit (  )  [inline]

Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

Definition at line 192 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMaximumIntegrationStep ( int  unit,
double  step 
)

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

void vtkStreamTracer::SetMaximumIntegrationStepUnit ( int  unit  ) 

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

void vtkStreamTracer::SetMaximumIntegrationStep ( double  step  ) 

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

int vtkStreamTracer::GetMaximumIntegrationStepUnit (  ) 

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

double vtkStreamTracer::GetMaximumIntegrationStep (  ) 

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

void vtkStreamTracer::SetMaximumIntegrationStepUnitToTimeUnit (  )  [inline]

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

Definition at line 205 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMaximumIntegrationStepUnitToLengthUnit (  )  [inline]

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

Definition at line 207 of file vtkStreamTracer.h.

void vtkStreamTracer::SetMaximumIntegrationStepUnitToCellLengthUnit (  )  [inline]

Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 Only valid when using adaptive integrators.

Definition at line 209 of file vtkStreamTracer.h.

void vtkStreamTracer::SetInitialIntegrationStep ( int  unit,
double  step 
)

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

void vtkStreamTracer::SetInitialIntegrationStepUnit ( int  unit  ) 

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

void vtkStreamTracer::SetInitialIntegrationStep ( double  step  ) 

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

int vtkStreamTracer::GetInitialIntegrationStepUnit (  ) 

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

double vtkStreamTracer::GetInitialIntegrationStep (  ) 

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

void vtkStreamTracer::SetInitialIntegrationStepUnitToTimeUnit (  )  [inline]

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

Definition at line 222 of file vtkStreamTracer.h.

void vtkStreamTracer::SetInitialIntegrationStepUnitToLengthUnit (  )  [inline]

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

Definition at line 224 of file vtkStreamTracer.h.

void vtkStreamTracer::SetInitialIntegrationStepUnitToCellLengthUnit (  )  [inline]

Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2 If the integrator is not adaptive, this is the actual step used.

Definition at line 226 of file vtkStreamTracer.h.

virtual void vtkStreamTracer::SetMaximumError ( double   )  [virtual]

Specify the maximum error in the integration. This value is passed to the integrator. Therefore, it's meaning depends on the integrator used.

virtual double vtkStreamTracer::GetMaximumError (  )  [virtual]

Specify the maximum error in the integration. This value is passed to the integrator. Therefore, it's meaning depends on the integrator used.

virtual void vtkStreamTracer::SetMaximumNumberOfSteps ( vtkIdType   )  [virtual]

Specify the maximum number of steps used in the integration.

virtual vtkIdType vtkStreamTracer::GetMaximumNumberOfSteps (  )  [virtual]

Specify the maximum number of steps used in the integration.

virtual void vtkStreamTracer::SetTerminalSpeed ( double   )  [virtual]

If at any point, the speed is below this value, the integration is terminated.

virtual double vtkStreamTracer::GetTerminalSpeed (  )  [virtual]

If at any point, the speed is below this value, the integration is terminated.

virtual void vtkStreamTracer::SetIntegrationDirection ( int   )  [virtual]

Specify whether the streamtrace will be generated in the upstream or downstream direction.

virtual int vtkStreamTracer::GetIntegrationDirection (  )  [virtual]

Specify whether the streamtrace will be generated in the upstream or downstream direction.

void vtkStreamTracer::SetIntegrationDirectionToForward (  )  [inline]

Specify whether the streamtrace will be generated in the upstream or downstream direction.

Definition at line 265 of file vtkStreamTracer.h.

void vtkStreamTracer::SetIntegrationDirectionToBackward (  )  [inline]

Specify whether the streamtrace will be generated in the upstream or downstream direction.

Definition at line 267 of file vtkStreamTracer.h.

void vtkStreamTracer::SetIntegrationDirectionToBoth (  )  [inline]

Specify whether the streamtrace will be generated in the upstream or downstream direction.

Definition at line 269 of file vtkStreamTracer.h.

virtual void vtkStreamTracer::SetComputeVorticity ( int   )  [virtual]

Turn on/off calculation of vorticity at streamline points (necessary for generating proper streamribbons using the vtkRibbonFilter.

virtual int vtkStreamTracer::GetComputeVorticity (  )  [virtual]

Turn on/off calculation of vorticity at streamline points (necessary for generating proper streamribbons using the vtkRibbonFilter.

virtual void vtkStreamTracer::ComputeVorticityOn (  )  [virtual]

Turn on/off calculation of vorticity at streamline points (necessary for generating proper streamribbons using the vtkRibbonFilter.

virtual void vtkStreamTracer::ComputeVorticityOff (  )  [virtual]

Turn on/off calculation of vorticity at streamline points (necessary for generating proper streamribbons using the vtkRibbonFilter.

virtual void vtkStreamTracer::SetRotationScale ( double   )  [virtual]

This can be used to scale the rate with which the streamribbons twist. The default is 1.

virtual double vtkStreamTracer::GetRotationScale (  )  [virtual]

This can be used to scale the rate with which the streamribbons twist. The default is 1.

void vtkStreamTracer::SetInterpolatorPrototype ( vtkInterpolatedVelocityField ivf  ) 

The object used to interpolate the velocity field during integration is of the same class as this prototype.

virtual vtkExecutive* vtkStreamTracer::CreateDefaultExecutive (  )  [protected, virtual]

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.

void vtkStreamTracer::AddInput ( vtkDataObject  )  [inline, protected]

Add an input of this algorithm. Note that these methods support old-style pipeline connections. When writing new code you should use the more general vtkAlgorithm::AddInputConnection(). See SetInput() for details.

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 301 of file vtkStreamTracer.h.

virtual int vtkStreamTracer::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented in vtkPStreamTracer, and vtkTemporalStreamTracer.

virtual int vtkStreamTracer::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

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.

Reimplemented in vtkTemporalStreamTracer.

void vtkStreamTracer::CalculateVorticity ( vtkGenericCell cell,
double  pcoords[3],
vtkDoubleArray cellVectors,
double  vorticity[3] 
) [protected]

void vtkStreamTracer::Integrate ( vtkDataSet input,
vtkPolyData output,
vtkDataArray seedSource,
vtkIdList seedIds,
vtkIntArray integrationDirections,
double  lastPoint[3],
vtkInterpolatedVelocityField func,
int  maxCellSize,
const char *  vecFieldName,
double &  propagation,
vtkIdType numSteps 
) [protected]

void vtkStreamTracer::SimpleIntegrate ( double  seed[3],
double  lastPoint[3],
double  delt,
vtkInterpolatedVelocityField func 
) [protected]

int vtkStreamTracer::CheckInputs ( vtkInterpolatedVelocityField *&  func,
int *  maxCellSize 
) [protected]

void vtkStreamTracer::GenerateNormals ( vtkPolyData output,
double *  firstNormal,
const char *  vecName 
) [protected]

void vtkStreamTracer::SetIntervalInformation ( int  unit,
double  interval,
IntervalInformation currentValues 
) [protected]

void vtkStreamTracer::SetIntervalInformation ( int  unit,
IntervalInformation currentValues 
) [protected]

static double vtkStreamTracer::ConvertToTime ( IntervalInformation interval,
double  cellLength,
double  speed 
) [static, protected]

static double vtkStreamTracer::ConvertToLength ( IntervalInformation interval,
double  cellLength,
double  speed 
) [static, protected]

static double vtkStreamTracer::ConvertToCellLength ( IntervalInformation interval,
double  cellLength,
double  speed 
) [static, protected]

static double vtkStreamTracer::ConvertToUnit ( IntervalInformation interval,
int  unit,
double  cellLength,
double  speed 
) [static, protected]

void vtkStreamTracer::ConvertIntervals ( double &  step,
double &  minStep,
double &  maxStep,
int  direction,
double  cellLength,
double  speed 
) [protected]

int vtkStreamTracer::SetupOutput ( vtkInformation inInfo,
vtkInformation outInfo 
) [protected]

void vtkStreamTracer::InitializeSeeds ( vtkDataArray *&  seeds,
vtkIdList *&  seedIds,
vtkIntArray *&  integrationDirections,
vtkDataSet source 
) [protected]


Member Data Documentation

Definition at line 328 of file vtkStreamTracer.h.

double vtkStreamTracer::StartPosition[3] [protected]

Definition at line 331 of file vtkStreamTracer.h.

const double vtkStreamTracer::EPSILON [static, protected]

Definition at line 333 of file vtkStreamTracer.h.

double vtkStreamTracer::TerminalSpeed [protected]

Definition at line 334 of file vtkStreamTracer.h.

Definition at line 336 of file vtkStreamTracer.h.

Definition at line 345 of file vtkStreamTracer.h.

Definition at line 346 of file vtkStreamTracer.h.

Definition at line 347 of file vtkStreamTracer.h.

Definition at line 348 of file vtkStreamTracer.h.

Definition at line 372 of file vtkStreamTracer.h.

Definition at line 375 of file vtkStreamTracer.h.

double vtkStreamTracer::MaximumError [protected]

Definition at line 377 of file vtkStreamTracer.h.

Definition at line 378 of file vtkStreamTracer.h.

Definition at line 380 of file vtkStreamTracer.h.

double vtkStreamTracer::RotationScale [protected]

Definition at line 381 of file vtkStreamTracer.h.

Definition at line 383 of file vtkStreamTracer.h.

Definition at line 385 of file vtkStreamTracer.h.


The documentation for this class was generated from the following file:

Generated on Wed Jun 3 19:36:47 2009 for VTK by  doxygen 1.5.6