vtkGenericStreamTracer Class Reference

#include <vtkGenericStreamTracer.h>

Inheritance diagram for vtkGenericStreamTracer:

Inheritance graph
[legend]
Collaboration diagram for vtkGenericStreamTracer:

Collaboration graph
[legend]

List of all members.


Detailed Description

Streamline generator.

vtkGenericStreamTracer 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.

vtkGenericStreamTracer 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 vtkGenericStreamTracer 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.

vtkGenericStreamTracer 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:
vtkGenericStreamTracer (Tests)

Definition at line 84 of file vtkGenericStreamTracer.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)
int FillInputPortInformation (int port, vtkInformation *info)
void AddInput (vtkGenericDataSet *in)
void SetInterpolatorPrototype (vtkGenericInterpolatedVelocityField *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 ()
virtual char * GetInputVectorsSelection ()
void SelectInputVectors (const char *fieldName)

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkGenericStreamTracerSafeDownCast (vtkObject *o)
static vtkGenericStreamTracerNew ()

Protected Member Functions

 vtkGenericStreamTracer ()
 ~vtkGenericStreamTracer ()
void AddInput (vtkDataObject *)
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void Integrate (vtkGenericDataSet *input0, vtkPolyData *output, vtkDataArray *seedSource, vtkIdList *seedIds, vtkIntArray *integrationDirections, double lastPoint[3], vtkGenericInterpolatedVelocityField *func)
void SimpleIntegrate (double seed[3], double lastPoint[3], double delt, vtkGenericInterpolatedVelocityField *func)
int CheckInputs (vtkGenericInterpolatedVelocityField *&func, vtkInformationVector **inputVector)
void GenerateNormals (vtkPolyData *output, double *firstNormal)
virtual void SetInputVectorsSelection (const char *)
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)
void InitializeSeeds (vtkDataArray *&seeds, vtkIdList *&seedIds, vtkIntArray *&integrationDirections)
void CalculateVorticity (vtkGenericAdaptorCell *cell, double pcoords[3], vtkGenericAttribute *attribute, double vorticity[3])

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
char * InputVectorsSelection
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
vtkGenericInterpolatedVelocityFieldInterpolatorPrototype

Static Protected Attributes

static const double EPSILON

Classes

struct  IntervalInformation

Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 87 of file vtkGenericStreamTracer.h.


Member Enumeration Documentation

Enumerator:
TIME_UNIT 
LENGTH_UNIT 
CELL_LENGTH_UNIT 

Definition at line 113 of file vtkGenericStreamTracer.h.

Enumerator:
RUNGE_KUTTA2 
RUNGE_KUTTA4 
RUNGE_KUTTA45 
NONE 
UNKNOWN 

Definition at line 120 of file vtkGenericStreamTracer.h.

Enumerator:
OUT_OF_DOMAIN 
NOT_INITIALIZED 
UNEXPECTED_VALUE 
OUT_OF_TIME 
OUT_OF_STEPS 
STAGNATION 

Definition at line 129 of file vtkGenericStreamTracer.h.

anonymous enum

Enumerator:
FORWARD 
BACKWARD 
BOTH 

Definition at line 248 of file vtkGenericStreamTracer.h.


Constructor & Destructor Documentation

vtkGenericStreamTracer::vtkGenericStreamTracer (  )  [protected]

vtkGenericStreamTracer::~vtkGenericStreamTracer (  )  [protected]


Member Function Documentation

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

Reimplemented from vtkPolyDataAlgorithm.

static int vtkGenericStreamTracer::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.

virtual int vtkGenericStreamTracer::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.

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

Reimplemented from vtkPolyDataAlgorithm.

void vtkGenericStreamTracer::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.

static vtkGenericStreamTracer* vtkGenericStreamTracer::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.

virtual void vtkGenericStreamTracer::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 vtkGenericStreamTracer::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* vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::SetSource ( vtkDataSet source  ) 

Specify the source object used to generate starting points.

vtkDataSet* vtkGenericStreamTracer::GetSource (  ) 

Specify the source object used to generate starting points.

int vtkGenericStreamTracer::FillInputPortInformation ( int  port,
vtkInformation info 
) [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.

void vtkGenericStreamTracer::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* vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 151 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 153 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 155 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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

void vtkGenericStreamTracer::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

void vtkGenericStreamTracer::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

int vtkGenericStreamTracer::GetMaximumPropagationUnit (  ) 

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2

double vtkGenericStreamTracer::GetMaximumPropagation (  ) 

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2

void vtkGenericStreamTracer::SetMaximumPropagationUnitToTimeUnit (  )  [inline]

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2

Definition at line 167 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::SetMaximumPropagationUnitToLengthUnit (  )  [inline]

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2

Definition at line 169 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::SetMaximumPropagationUnitToCellLengthUnit (  )  [inline]

Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 CELL_LENGTH_UNIT = 2

Definition at line 171 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 184 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 186 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 188 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 201 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 203 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 205 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 218 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 220 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::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 222 of file vtkGenericStreamTracer.h.

virtual void vtkGenericStreamTracer::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 vtkGenericStreamTracer::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 vtkGenericStreamTracer::SetMaximumNumberOfSteps ( vtkIdType   )  [virtual]

Specify the maximum number of steps used in the integration.

virtual vtkIdType vtkGenericStreamTracer::GetMaximumNumberOfSteps (  )  [virtual]

Specify the maximum number of steps used in the integration.

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

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

virtual double vtkGenericStreamTracer::GetTerminalSpeed (  )  [virtual]

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

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

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

virtual int vtkGenericStreamTracer::GetIntegrationDirection (  )  [virtual]

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

void vtkGenericStreamTracer::SetIntegrationDirectionToForward (  )  [inline]

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

Definition at line 261 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::SetIntegrationDirectionToBackward (  )  [inline]

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

Definition at line 263 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::SetIntegrationDirectionToBoth (  )  [inline]

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

Definition at line 265 of file vtkGenericStreamTracer.h.

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

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

virtual int vtkGenericStreamTracer::GetComputeVorticity (  )  [virtual]

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

virtual void vtkGenericStreamTracer::ComputeVorticityOn (  )  [virtual]

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

virtual void vtkGenericStreamTracer::ComputeVorticityOff (  )  [virtual]

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

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

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

virtual double vtkGenericStreamTracer::GetRotationScale (  )  [virtual]

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

virtual char* vtkGenericStreamTracer::GetInputVectorsSelection (  )  [virtual]

If you want to generate traces using an arbitrary vector array, then set its name here. By default this in NULL and the filter will use the active vector array.

void vtkGenericStreamTracer::SelectInputVectors ( const char *  fieldName  )  [inline]

If you want to generate traces using an arbitrary vector array, then set its name here. By default this in NULL and the filter will use the active vector array.

Definition at line 289 of file vtkGenericStreamTracer.h.

void vtkGenericStreamTracer::AddInput ( vtkGenericDataSet in  ) 

Add a dataset to the list inputs

void vtkGenericStreamTracer::SetInterpolatorPrototype ( vtkGenericInterpolatedVelocityField ivf  ) 

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

void vtkGenericStreamTracer::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 305 of file vtkGenericStreamTracer.h.

int vtkGenericStreamTracer::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.

void vtkGenericStreamTracer::CalculateVorticity ( vtkGenericAdaptorCell cell,
double  pcoords[3],
vtkGenericAttribute attribute,
double  vorticity[3] 
) [protected]

Compute the vorticity at point `pcoords' in cell `cell' for the vector attribute `attribute'.

Precondition:
attribute_exists: attribute!=0

point_centered_attribute: attribute->GetCentering()==vtkPointCentered

vector_attribute: attribute->GetType()==vtkDataSetAttributesVECTORS);

void vtkGenericStreamTracer::Integrate ( vtkGenericDataSet input0,
vtkPolyData output,
vtkDataArray seedSource,
vtkIdList seedIds,
vtkIntArray integrationDirections,
double  lastPoint[3],
vtkGenericInterpolatedVelocityField func 
) [protected]

void vtkGenericStreamTracer::SimpleIntegrate ( double  seed[3],
double  lastPoint[3],
double  delt,
vtkGenericInterpolatedVelocityField func 
) [protected]

int vtkGenericStreamTracer::CheckInputs ( vtkGenericInterpolatedVelocityField *&  func,
vtkInformationVector **  inputVector 
) [protected]

void vtkGenericStreamTracer::GenerateNormals ( vtkPolyData output,
double *  firstNormal 
) [protected]

virtual void vtkGenericStreamTracer::SetInputVectorsSelection ( const char *   )  [protected, virtual]

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

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

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

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

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

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

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

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


Member Data Documentation

Definition at line 337 of file vtkGenericStreamTracer.h.

Definition at line 339 of file vtkGenericStreamTracer.h.

Definition at line 344 of file vtkGenericStreamTracer.h.

const double vtkGenericStreamTracer::EPSILON [static, protected]

Definition at line 346 of file vtkGenericStreamTracer.h.

Definition at line 347 of file vtkGenericStreamTracer.h.

Definition at line 349 of file vtkGenericStreamTracer.h.

Definition at line 358 of file vtkGenericStreamTracer.h.

Definition at line 359 of file vtkGenericStreamTracer.h.

Definition at line 360 of file vtkGenericStreamTracer.h.

Definition at line 361 of file vtkGenericStreamTracer.h.

Definition at line 382 of file vtkGenericStreamTracer.h.

Definition at line 385 of file vtkGenericStreamTracer.h.

Definition at line 387 of file vtkGenericStreamTracer.h.

Definition at line 388 of file vtkGenericStreamTracer.h.

Definition at line 390 of file vtkGenericStreamTracer.h.

Definition at line 391 of file vtkGenericStreamTracer.h.

Definition at line 393 of file vtkGenericStreamTracer.h.


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

Generated on Wed Jun 3 19:04:37 2009 for VTK by  doxygen 1.5.6