80 #ifndef vtkEvenlySpacedStreamlines2D_h
81 #define vtkEvenlySpacedStreamlines2D_h
84 #include "vtkFiltersFlowPathsModule.h"
90 VTK_ABI_NAMESPACE_BEGIN
127 vtkSetVector3Macro(StartPosition,
double);
128 vtkGetVector3Macro(StartPosition,
double);
143 void SetIntegratorType(
int type);
144 int GetIntegratorType();
145 void SetIntegratorTypeToRungeKutta2();
146 void SetIntegratorTypeToRungeKutta4();
154 void SetInterpolatorTypeToDataSetPointLocator();
161 void SetInterpolatorTypeToCellLocator();
169 void SetIntegrationStepUnit(
int unit);
170 int GetIntegrationStepUnit() {
return this->IntegrationStepUnit; }
176 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
177 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
185 vtkSetMacro(MinimumNumberOfLoopPoints,
vtkIdType);
186 vtkGetMacro(MinimumNumberOfLoopPoints,
vtkIdType);
197 vtkSetMacro(InitialIntegrationStep,
double);
198 vtkGetMacro(InitialIntegrationStep,
double);
206 vtkSetMacro(SeparatingDistance,
double);
207 vtkGetMacro(SeparatingDistance,
double);
215 vtkSetMacro(SeparatingDistanceRatio,
double);
216 vtkGetMacro(SeparatingDistanceRatio,
double);
224 vtkSetMacro(ClosedLoopMaximumDistance,
double);
225 vtkGetMacro(ClosedLoopMaximumDistance,
double);
234 vtkSetMacro(LoopAngle,
double);
235 vtkGetMacro(LoopAngle,
double);
242 vtkSetMacro(TerminalSpeed,
double);
243 vtkGetMacro(TerminalSpeed,
double);
252 vtkSetMacro(ComputeVorticity,
bool);
253 vtkGetMacro(ComputeVorticity,
bool);
272 void SetInterpolatorType(
int interpType);
281 virtual
void SetCellLocatorToModifiedBSPTree();
282 virtual
void SetCellLocatorToJumpAndWalkCellLocator();
283 vtkGetObjectMacro(CellLocator, vtkAbstractCellLocator);
288 ~vtkEvenlySpacedStreamlines2D() override;
301 vtkErrorMacro(<<
"AddInput() must be called with a vtkDataSet not a vtkDataObject.");
309 double ConvertToLength(
double interval,
int unit,
double cellLength);
312 void InitializeSuperposedGrid(
double* bounds);
314 void AddToCurrentPoints(
vtkIdType pointId);
315 template <
typename T>
316 void InitializePoints(T&
points);
317 void InitializeMinPointIds();
319 static bool IsStreamlineLooping(
321 static bool IsStreamlineTooCloseToOthers(
323 template <
typename CellCheckerType>
326 template <
int distanceType>
331 const char* GetInputArrayToProcessName();
332 int ComputeCellLength(
double* cellLength);
335 double StartPosition[3];
372 std::vector<std::vector<std::array<double, 3>>>
AllPoints;
395 VTK_ABI_NAMESPACE_END
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
vtkAbstractCellLocator * CellLocator
std::vector< std::vector< vtkIdType > > CurrentPoints
double SeparatingDistanceRatio
an abstract base class for locators which find cells
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.
double SeparatingDistance
maintain a list of polygonal data objects
general representation of visualization data
#define VTK_DEPRECATED_IN_9_7_0(reason)
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.