61 #ifndef VTK_LEGACY_REMOVE
63 #define VTK_INTEGRATE_FORWARD 0
64 #define VTK_INTEGRATE_BACKWARD 1
65 #define VTK_INTEGRATE_BOTH_DIRECTIONS 2
76 void SetStartLocation(
vtkIdType cellId,
int subId,
double pcoords[3]);
82 void SetStartLocation(
vtkIdType cellId,
int subId,
double r,
double s,
88 vtkIdType GetStartLocation(
int& subId,
double pcoords[3]);
93 void SetStartPosition(
double x[3]);
98 void SetStartPosition(
double x,
double y,
double z);
101 double *GetStartPosition();
115 vtkSetClampMacro(MaximumPropagationTime,
double,0.0,
VTK_DOUBLE_MAX);
116 vtkGetMacro(MaximumPropagationTime,
double);
121 vtkSetClampMacro(IntegrationDirection,
int,
123 vtkGetMacro(IntegrationDirection,
int);
130 const char *GetIntegrationDirectionAsString();
136 vtkSetClampMacro(IntegrationStepLength,
double,0.0000001,
VTK_DOUBLE_MAX);
137 vtkGetMacro(IntegrationStepLength,
double);
143 vtkSetMacro(SpeedScalars,
int);
144 vtkGetMacro(SpeedScalars,
int);
145 vtkBooleanMacro(SpeedScalars,
int);
154 vtkSetMacro(OrientationScalars,
int);
155 vtkGetMacro(OrientationScalars,
int);
156 vtkBooleanMacro(OrientationScalars,
int);
163 vtkGetMacro(TerminalSpeed,
double);
172 vtkSetMacro(Vorticity,
int);
173 vtkGetMacro(Vorticity,
int);
174 vtkBooleanMacro(Vorticity,
int);
177 vtkSetMacro( NumberOfThreads,
int );
178 vtkGetMacro( NumberOfThreads,
int );
180 vtkSetMacro( SavePointInterval,
double );
181 vtkGetMacro( SavePointInterval,
double );
195 vtkSetMacro(Epsilon,
double);
196 vtkGetMacro(Epsilon,
double);
217 double StartPCoords[3];
220 double StartPosition[3];
249 delete [] this->Array;
255 if ( ++this->MaxId >= this->Size )
257 this->Resize(this->MaxId);
315 vtkGetMacro( NumberOfStreamers,
vtkIdType );
319 void InitializeThreadedIntegrate();
336 return "IntegrateForward";
340 return "IntegrateBackward";
344 return "IntegrateBothDirections";
349 #endif // VTK_LEGACY_REMOVE
#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.