61 #define VTK_INTEGRATE_FORWARD 0
62 #define VTK_INTEGRATE_BACKWARD 1
63 #define VTK_INTEGRATE_BOTH_DIRECTIONS 2
74 void SetStartLocation(
vtkIdType cellId,
int subId,
double pcoords[3]);
80 void SetStartLocation(
vtkIdType cellId,
int subId,
double r,
double s,
86 vtkIdType GetStartLocation(
int& subId,
double pcoords[3]);
91 void SetStartPosition(
double x[3]);
96 void SetStartPosition(
double x,
double y,
double z);
99 double *GetStartPosition();
113 vtkSetClampMacro(MaximumPropagationTime,
double,0.0,
VTK_DOUBLE_MAX);
114 vtkGetMacro(MaximumPropagationTime,
double);
119 vtkSetClampMacro(IntegrationDirection,
int,
121 vtkGetMacro(IntegrationDirection,
int);
128 const char *GetIntegrationDirectionAsString();
134 vtkSetClampMacro(IntegrationStepLength,
double,0.0000001,
VTK_DOUBLE_MAX);
135 vtkGetMacro(IntegrationStepLength,
double);
141 vtkSetMacro(SpeedScalars,
int);
142 vtkGetMacro(SpeedScalars,
int);
143 vtkBooleanMacro(SpeedScalars,
int);
152 vtkSetMacro(OrientationScalars,
int);
153 vtkGetMacro(OrientationScalars,
int);
154 vtkBooleanMacro(OrientationScalars,
int);
161 vtkGetMacro(TerminalSpeed,
double);
170 vtkSetMacro(Vorticity,
int);
171 vtkGetMacro(Vorticity,
int);
172 vtkBooleanMacro(Vorticity,
int);
175 vtkSetMacro( NumberOfThreads,
int );
176 vtkGetMacro( NumberOfThreads,
int );
178 vtkSetMacro( SavePointInterval,
double );
179 vtkGetMacro( SavePointInterval,
double );
193 vtkSetMacro(Epsilon,
double);
194 vtkGetMacro(Epsilon,
double);
215 double StartPCoords[3];
218 double StartPosition[3];
247 delete [] this->Array;
253 if ( ++this->MaxId >= this->Size )
255 this->Resize(this->MaxId);
313 vtkGetMacro( NumberOfStreamers,
vtkIdType );
317 void InitializeThreadedIntegrate();
334 return "IntegrateForward";
338 return "IntegrateBackward";
342 return "IntegrateBothDirections";
#define VTKFILTERSFLOWPATHS_EXPORT
vtkInitialValueProblemSolver * Integrator
vtkIdType GetNumberOfPoints()
virtual int FillInputPortInformation(int port, vtkInformation *info)
StreamPoint * GetStreamPoint(vtkIdType i)
vtkMultiThreader * Threader
abstract class to specify dataset behavior
void SetIntegrationDirectionToBackward()
#define VTK_INTEGRATE_BOTH_DIRECTIONS
A class for performing multithreaded execution.
vtkIdType NumberOfStreamers
#define VTK_INTEGRATE_FORWARD
Proxy object to connect input/output ports.
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
abstract object implements integration of massless particle through vector field
double MaximumPropagationTime
double IntegrationStepLength
StreamArray * GetStreamers()
void SetIntegrationDirectionToForward()
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_THREAD_RETURN_TYPE
const char * GetIntegrationDirectionAsString()
vtkIdType InsertNextStreamPoint()
#define VTK_INTEGRATE_BACKWARD
void SetIntegrationDirectionToIntegrateBothDirections()
Integrate a set of ordinary differential equations (initial value problem) in time.