92 #ifndef vtkEvenlySpacedStreamlines2D_h
93 #define vtkEvenlySpacedStreamlines2D_h
95 #include "vtkFiltersFlowPathsModule.h"
137 vtkSetVector3Macro(StartPosition,
double);
138 vtkGetVector3Macro(StartPosition,
double);
153 void SetIntegratorType(
int type);
154 int GetIntegratorType();
155 void SetIntegratorTypeToRungeKutta2();
156 void SetIntegratorTypeToRungeKutta4();
163 void SetInterpolatorTypeToDataSetPointLocator();
169 void SetInterpolatorTypeToCellLocator();
177 void SetIntegrationStepUnit(
int unit);
184 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
185 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
193 vtkSetMacro(MinimumNumberOfLoopPoints,
vtkIdType);
194 vtkGetMacro(MinimumNumberOfLoopPoints,
vtkIdType);
205 vtkSetMacro(InitialIntegrationStep,
double);
206 vtkGetMacro(InitialIntegrationStep,
double);
214 vtkSetMacro(SeparatingDistance,
double);
215 vtkGetMacro(SeparatingDistance,
double);
223 vtkSetMacro(SeparatingDistanceRatio,
double);
224 vtkGetMacro(SeparatingDistanceRatio,
double);
232 vtkSetMacro(ClosedLoopMaximumDistance,
double);
233 vtkGetMacro(ClosedLoopMaximumDistance,
double);
242 vtkSetMacro(LoopAngle,
double);
243 vtkGetMacro(LoopAngle,
double);
250 vtkSetMacro(TerminalSpeed,
double);
251 vtkGetMacro(TerminalSpeed,
double);
260 vtkSetMacro(ComputeVorticity,
bool);
261 vtkGetMacro(ComputeVorticity,
bool);
278 void SetInterpolatorType(
int interpType);
295 vtkErrorMacro(<<
"AddInput() must be called with a vtkDataSet not a vtkDataObject.");
303 double ConvertToLength(
double interval,
int unit,
double cellLength);
306 void InitializeSuperposedGrid(
double* bounds);
308 void AddToCurrentPoints(
vtkIdType pointId);
309 template <
typename T>
310 void InitializePoints(T&
points);
311 void InitializeMinPointIds();
313 static bool IsStreamlineLooping(
315 static bool IsStreamlineTooCloseToOthers(
317 template <
typename CellCheckerType>
320 template <
int distanceType>
325 const char* GetInputArrayToProcessName();
326 int ComputeCellLength(
double* cellLength);
329 double StartPosition[3];
366 std::vector<std::vector<std::array<double, 3>>>
AllPoints;
double InitialIntegrationStep
vtkIdType MaximumNumberOfSteps
void GetBounds(T a, double bds[6])
double ClosedLoopMaximumDistance
void AddInput(vtkDataObject *)
vtkPolyDataCollection * Streamlines
Evenly spaced streamline generator for 2D.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkIdType MinimumNumberOfStreamlinePoints
std::vector< std::vector< vtkIdType > > CurrentPoints
double SeparatingDistanceRatio
vtkAbstractInterpolatedVelocityField * InterpolatorPrototype
An abstract class for obtaining the interpolated velocity values at a point.
vtkIdType MinimumNumberOfLoopPoints
concrete dataset represents vertices, lines, polygons, and triangle strips
Superclass for all pipeline executives in VTK.
provides thread-safe access to cells
dynamic, self-adjusting array of double
static vtkPolyDataAlgorithm * New()
dynamic, self-adjusting array of int
abstract superclass for composite (multi-block or AMR) datasets
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
std::vector< vtkIdType > MinPointIds
topologically and geometrically regular array of data
list of point or cell ids
abstract superclass for arrays of numeric data
std::vector< std::vector< std::array< double, 3 > > > AllPoints
vtkInitialValueProblemSolver * Integrator
vtkCompositeDataSet * InputData
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
double SeparatingDistanceArcLength
DistanceType
Do we test for separating distance or a ratio of the separating distance.
int GetIntegrationStepUnit()
double SeparatingDistance
maintain a list of polygonal data objects
general representation of visualization data
vtkImageData * SuperposedGrid
double ClosedLoopMaximumDistanceArcLength
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Integrate a set of ordinary differential equations (initial value problem) in time.