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:
[legend]Collaboration diagram for vtkStreamer:
[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) |
vtkDataSet * | GetSource () |
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 vtkInitialValueProblemSolver * | GetIntegrator () |
virtual int | GetNumberOfStreamers () |
vtkStreamArray * | GetStreamers () |
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] |
vtkStreamArray * | Streamers |
int | NumberOfStreamers |
float | MaximumPropagationTime |
int | IntegrationDirection |
float | IntegrationStepLength |
int | Vorticity |
float | TerminalSpeed |
int | SpeedScalars |
vtkInitialValueProblemSolver * | Integrator |
float | SavePointInterval |
vtkMultiThreader * | Threader |
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] |
|
Member Function Documentation
virtual const char* vtkStreamer::GetClassName |
( |
|
) |
[virtual] |
|
int vtkStreamer::IsTypeOf |
( |
const char * |
type |
) |
[static] |
|
virtual int vtkStreamer::IsA |
( |
const char * |
type |
) |
[virtual] |
|
vtkStreamer* vtkStreamer::SafeDownCast |
( |
vtkObject * |
o |
) |
[static] |
|
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] |
|
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. |
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] |
|
void vtkStreamer::SetIntegrationDirectionToBackward |
( |
|
) |
[inline] |
|
void vtkStreamer::SetIntegrationDirectionToIntegrateBothDirections |
( |
|
) |
[inline] |
|
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] |
|
|
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 int vtkStreamer::GetNumberOfStreamers |
( |
|
) |
[virtual] |
|
|
These methods were added to allow access to these variables from the threads. Not intended for general use. |
void vtkStreamer::operator= |
( |
const vtkStreamer & |
|
) |
[inline, protected] |
|
void vtkStreamer::Integrate |
( |
|
) |
[protected] |
|
void vtkStreamer::ComputeVorticity |
( |
|
) |
[protected] |
|
void vtkStreamer::InitializeThreadedIntegrate |
( |
|
) |
[protected] |
|
Member Data Documentation
int vtkStreamer::StartFrom [protected]
|
|
int vtkStreamer::StartCell [protected]
|
|
int vtkStreamer::StartSubId [protected]
|
|
float vtkStreamer::StartPCoords[3] [protected]
|
|
float vtkStreamer::StartPosition[3] [protected]
|
|
int vtkStreamer::NumberOfStreamers [protected]
|
|
float vtkStreamer::MaximumPropagationTime [protected]
|
|
int vtkStreamer::IntegrationDirection [protected]
|
|
float vtkStreamer::IntegrationStepLength [protected]
|
|
int vtkStreamer::Vorticity [protected]
|
|
float vtkStreamer::TerminalSpeed [protected]
|
|
int vtkStreamer::SpeedScalars [protected]
|
|
float vtkStreamer::SavePointInterval [protected]
|
|
int vtkStreamer::NumberOfThreads [protected]
|
|
The documentation for this class was generated from the following file:
Generated on Wed Nov 21 13:00:30 2001 for VTK by
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001