Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkStreamer Class Reference

abstract object implements integration of massless particle through vector field. More...

#include <vtkStreamer.h>

Inheritance diagram for vtkStreamer:

Inheritance graph
[legend]
Collaboration diagram for vtkStreamer:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void SetStartLocation (int cellId, int subId, float pcoords[3])
void SetStartLocation (int cellId, int subId, float r, float s, float t)
int GetStartLocation (int &subId, float pcoords[3])
void SetStartPosition (float x[3])
void SetStartPosition (float x, float y, float z)
float * GetStartPosition ()
void SetSource (vtkDataSet *source)
vtkDataSetGetSource ()
virtual void SetMaximumPropagationTime (float)
virtual float GetMaximumPropagationTime ()
virtual void SetIntegrationDirection (int)
virtual int GetIntegrationDirection ()
void SetIntegrationDirectionToForward ()
void SetIntegrationDirectionToBackward ()
void SetIntegrationDirectionToIntegrateBothDirections ()
const char * GetIntegrationDirectionAsString ()
virtual void SetIntegrationStepLength (float)
virtual float GetIntegrationStepLength ()
virtual void SetSpeedScalars (int)
virtual int GetSpeedScalars ()
virtual void SpeedScalarsOn ()
virtual void SpeedScalarsOff ()
virtual void SetTerminalSpeed (float)
virtual float GetTerminalSpeed ()
virtual void SetVorticity (int)
virtual int GetVorticity ()
virtual void VorticityOn ()
virtual void VorticityOff ()
virtual void SetNumberOfThreads (int)
virtual int GetNumberOfThreads ()
virtual void SetSavePointInterval (float)
virtual float GetSavePointInterval ()
virtual void SetIntegrator (vtkInitialValueProblemSolver *)
virtual vtkInitialValueProblemSolverGetIntegrator ()
virtual int GetNumberOfStreamers ()
vtkStreamArrayGetStreamers ()

Static Public Methods

int IsTypeOf (const char *type)
vtkStreamer * SafeDownCast (vtkObject *o)
vtkStreamer * New ()

Protected Methods

 vtkStreamer ()
 ~vtkStreamer ()
 vtkStreamer (const vtkStreamer &)
void operator= (const vtkStreamer &)
void Integrate ()
void ComputeVorticity ()
void InitializeThreadedIntegrate ()

Protected Attributes

int StartFrom
int StartCell
int StartSubId
float StartPCoords [3]
float StartPosition [3]
vtkStreamArrayStreamers
int NumberOfStreamers
float MaximumPropagationTime
int IntegrationDirection
float IntegrationStepLength
int Vorticity
float TerminalSpeed
int SpeedScalars
vtkInitialValueProblemSolverIntegrator
float SavePointInterval
vtkMultiThreaderThreader
int NumberOfThreads

Detailed Description

abstract object implements integration of massless particle through vector field.

Date:
2000/12/10 20:08:53
Revision:
1.44

vtkStreamer is a filter that integrates a massless particle through a vector field. The integration is performed using second order Runge-Kutta method. vtkStreamer often serves as a base class for other classes that perform numerical integration through a vector field (e.g., vtkStreamLine).

Note that vtkStreamer can integrate both forward and backward in time, or in both directions. The length of the streamer is controlled by specifying an elapsed time. (The elapsed time is the time each particle travels.) Otherwise, the integration terminates after exiting the dataset or if the particle speed is reduced to a value less than the terminal speed.

vtkStreamer 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 streamers may be defined in three different ways. Starting from global x-y-z "position" allows you to start a single streamer at a specified x-y-z coordinate. Starting from "location" allows you to start at a specified cell, subId, and parametric coordinate. Finally, you may specify a source object to start multiple streamers. If you start streamers using a source object, for each point in the source that is inside the dataset a streamer is created.

vtkStreamer implements the integration process in the Integrate() method. Because vtkStreamer does not implement the Execute() method that its superclass (i.e., Filter) requires, it is an abstract class. Its subclasses implement the execute method and use the Integrate() method, and then build their own representation of the integration path (i.e., lines, dashed lines, points, etc.).

See also:
vtkStreamLine vtkDashedStreamLine vtkStreamPoints

Definition at line 142 of file vtkStreamer.h.


Constructor & Destructor Documentation

vtkStreamer::vtkStreamer   [protected]
 

vtkStreamer::~vtkStreamer   [protected]
 

vtkStreamer::vtkStreamer const vtkStreamer &    [inline, protected]
 

Definition at line 250 of file vtkStreamer.h.


Member Function Documentation

virtual const char* vtkStreamer::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkDashedStreamLine, vtkStreamLine, and vtkStreamPoints.

int vtkStreamer::IsTypeOf const char *    type [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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkDashedStreamLine, vtkStreamLine, and vtkStreamPoints.

virtual int vtkStreamer::IsA const char *    type [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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkDashedStreamLine, vtkStreamLine, and vtkStreamPoints.

vtkStreamer* vtkStreamer::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkDashedStreamLine, vtkStreamLine, and vtkStreamPoints.

void vtkStreamer::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 vtkSource.

Reimplemented in vtkDashedStreamLine, vtkStreamLine, and vtkStreamPoints.

vtkStreamer* vtkStreamer::New   [static]
 

Construct object to start from position (0,0,0); integrate forward; terminal speed 0.0; vorticity computation off; integrations step length 0.2; and maximum propagation time 100.0.

Reimplemented from vtkPolyDataSource.

Reimplemented in vtkDashedStreamLine, vtkStreamLine, and vtkStreamPoints.

void vtkStreamer::SetStartLocation int    cellId,
int    subId,
float    pcoords[3]
 

Specify the start of the streamline in the cell coordinate system. That is, cellId and subId (if composite cell), and parametric coordinates.

void vtkStreamer::SetStartLocation int    cellId,
int    subId,
float    r,
float    s,
float    t
 

Specify the start of the streamline in the cell coordinate system. That is, cellId and subId (if composite cell), and parametric coordinates.

int vtkStreamer::GetStartLocation int &    subId,
float    pcoords[3]
 

Get the starting location of the streamline in the cell coordinate system.

void vtkStreamer::SetStartPosition float    x[3]
 

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

void vtkStreamer::SetStartPosition float    x,
float    y,
float    z
 

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

float* vtkStreamer::GetStartPosition  
 

Get the start position in global x-y-z coordinates.

void vtkStreamer::SetSource vtkDataSet   source
 

Specify the source object used to generate starting points.

vtkDataSet* vtkStreamer::GetSource  
 

virtual void vtkStreamer::SetMaximumPropagationTime float    [virtual]
 

Specify the maximum length of the Streamer expressed in elapsed time.

virtual float vtkStreamer::GetMaximumPropagationTime   [virtual]
 

virtual void vtkStreamer::SetIntegrationDirection int    [virtual]
 

Specify the direction in which to integrate the Streamer.

virtual int vtkStreamer::GetIntegrationDirection   [virtual]
 

void vtkStreamer::SetIntegrationDirectionToForward   [inline]
 

Definition at line 192 of file vtkStreamer.h.

void vtkStreamer::SetIntegrationDirectionToBackward   [inline]
 

Definition at line 194 of file vtkStreamer.h.

void vtkStreamer::SetIntegrationDirectionToIntegrateBothDirections   [inline]
 

Definition at line 196 of file vtkStreamer.h.

const char * vtkStreamer::GetIntegrationDirectionAsString void    [inline]
 

Return the integration direction as a character string.

Definition at line 307 of file vtkStreamer.h.

virtual void vtkStreamer::SetIntegrationStepLength float    [virtual]
 

Specify a nominal integration step size (expressed as a fraction of the size of each cell). This value can be larger than 1.

virtual float vtkStreamer::GetIntegrationStepLength   [virtual]
 

virtual void vtkStreamer::SetSpeedScalars int    [virtual]
 

Turn on/off the creation of scalar data from velocity magnitude. If off, and input dataset has scalars, input dataset scalars are used.

virtual int vtkStreamer::GetSpeedScalars   [virtual]
 

virtual void vtkStreamer::SpeedScalarsOn   [virtual]
 

virtual void vtkStreamer::SpeedScalarsOff   [virtual]
 

virtual void vtkStreamer::SetTerminalSpeed float    [virtual]
 

Set/get terminal speed (i.e., speed is velocity magnitude). Terminal speed is speed at which streamer will terminate propagation.

virtual float vtkStreamer::GetTerminalSpeed   [virtual]
 

virtual void vtkStreamer::SetVorticity int    [virtual]
 

Turn on/off the computation of vorticity. Vorticity is an indication of the rotation of the flow. In combination with vtkStreamLine and vtkTubeFilter can be used to create rotated tubes. If vorticity is turned on, in the output, the velocity vectors are replaced by vorticity vectors.

virtual int vtkStreamer::GetVorticity   [virtual]
 

virtual void vtkStreamer::VorticityOn   [virtual]
 

virtual void vtkStreamer::VorticityOff   [virtual]
 

virtual void vtkStreamer::SetNumberOfThreads int    [virtual]
 

virtual int vtkStreamer::GetNumberOfThreads   [virtual]
 

virtual void vtkStreamer::SetSavePointInterval float    [virtual]
 

virtual float vtkStreamer::GetSavePointInterval   [virtual]
 

virtual void vtkStreamer::SetIntegrator vtkInitialValueProblemSolver   [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 MakeObject by each thread/process in the process of integration (prototype pattern). The default is 2nd order Runge Kutta.

virtual vtkInitialValueProblemSolver* vtkStreamer::GetIntegrator   [virtual]
 

virtual int vtkStreamer::GetNumberOfStreamers   [virtual]
 

These methods were added to allow access to these variables from the threads. Not intended for general use.

vtkStreamArray* vtkStreamer::GetStreamers   [inline]
 

Definition at line 243 of file vtkStreamer.h.

void vtkStreamer::operator= const vtkStreamer &    [inline, protected]
 

Definition at line 251 of file vtkStreamer.h.

void vtkStreamer::Integrate   [protected]
 

void vtkStreamer::ComputeVorticity   [protected]
 

void vtkStreamer::InitializeThreadedIntegrate   [protected]
 


Member Data Documentation

int vtkStreamer::StartFrom [protected]
 

Definition at line 260 of file vtkStreamer.h.

int vtkStreamer::StartCell [protected]
 

Definition at line 263 of file vtkStreamer.h.

int vtkStreamer::StartSubId [protected]
 

Definition at line 264 of file vtkStreamer.h.

float vtkStreamer::StartPCoords[3] [protected]
 

Definition at line 265 of file vtkStreamer.h.

float vtkStreamer::StartPosition[3] [protected]
 

Definition at line 268 of file vtkStreamer.h.

vtkStreamArray* vtkStreamer::Streamers [protected]
 

Definition at line 271 of file vtkStreamer.h.

int vtkStreamer::NumberOfStreamers [protected]
 

Definition at line 272 of file vtkStreamer.h.

float vtkStreamer::MaximumPropagationTime [protected]
 

Definition at line 275 of file vtkStreamer.h.

int vtkStreamer::IntegrationDirection [protected]
 

Definition at line 278 of file vtkStreamer.h.

float vtkStreamer::IntegrationStepLength [protected]
 

Definition at line 281 of file vtkStreamer.h.

int vtkStreamer::Vorticity [protected]
 

Definition at line 284 of file vtkStreamer.h.

float vtkStreamer::TerminalSpeed [protected]
 

Definition at line 287 of file vtkStreamer.h.

int vtkStreamer::SpeedScalars [protected]
 

Definition at line 290 of file vtkStreamer.h.

vtkInitialValueProblemSolver* vtkStreamer::Integrator [protected]
 

Definition at line 293 of file vtkStreamer.h.

float vtkStreamer::SavePointInterval [protected]
 

Definition at line 298 of file vtkStreamer.h.

vtkMultiThreader* vtkStreamer::Threader [protected]
 

Definition at line 301 of file vtkStreamer.h.

int vtkStreamer::NumberOfThreads [protected]
 

Definition at line 302 of file vtkStreamer.h.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 13:00:30 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001