90 #ifndef vtkEvenlySpacedStreamlines2D_h 91 #define vtkEvenlySpacedStreamlines2D_h 93 #include "vtkFiltersFlowPathsModule.h" 135 vtkSetVector3Macro(StartPosition,
double);
136 vtkGetVector3Macro(StartPosition,
double);
151 void SetIntegratorType(
int type);
152 int GetIntegratorType();
153 void SetIntegratorTypeToRungeKutta2();
154 void SetIntegratorTypeToRungeKutta4();
161 void SetInterpolatorTypeToDataSetPointLocator();
167 void SetInterpolatorTypeToCellLocator();
175 void SetIntegrationStepUnit(
int unit);
182 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
183 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
191 vtkSetMacro(MinimumNumberOfLoopPoints,
vtkIdType);
192 vtkGetMacro(MinimumNumberOfLoopPoints,
vtkIdType);
203 vtkSetMacro(InitialIntegrationStep,
double);
204 vtkGetMacro(InitialIntegrationStep,
double);
212 vtkSetMacro(SeparatingDistance,
double);
213 vtkGetMacro(SeparatingDistance,
double);
221 vtkSetMacro(SeparatingDistanceRatio,
double);
222 vtkGetMacro(SeparatingDistanceRatio,
double);
230 vtkSetMacro(ClosedLoopMaximumDistance,
double);
231 vtkGetMacro(ClosedLoopMaximumDistance,
double);
240 vtkSetMacro(LoopAngle,
double);
241 vtkGetMacro(LoopAngle,
double);
248 vtkSetMacro(TerminalSpeed,
double);
249 vtkGetMacro(TerminalSpeed,
double);
258 vtkSetMacro(ComputeVorticity,
bool);
259 vtkGetMacro(ComputeVorticity,
bool);
277 void SetInterpolatorType(
int interpType);
294 vtkErrorMacro(<<
"AddInput() must be called with a vtkDataSet not a vtkDataObject.");
302 double ConvertToLength(
double interval,
int unit,
double cellLength);
305 void InitializeSuperposedGrid(
double* bounds);
307 void AddToCurrentPoints(
vtkIdType pointId);
308 template <
typename T>
309 void InitializePoints(T&
points);
310 void InitializeMinPointIds();
312 static bool IsStreamlineLooping(
314 static bool IsStreamlineTooCloseToOthers(
316 template <
typename CellCheckerType>
319 template <
int distanceType>
324 const char* GetInputArrayToProcessName();
325 int ComputeCellLength(
double* cellLength);
328 double StartPosition[3];
365 std::vector<std::vector<std::array<double, 3> > >
AllPoints;
double InitialIntegrationStep
vtkIdType MaximumNumberOfSteps
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.