18#ifndef vtkVectorFieldTopology_h 
   19#define vtkVectorFieldTopology_h 
   21#include "vtkFiltersFlowPathsModule.h"  
   25VTK_ABI_NAMESPACE_BEGIN
 
   46  vtkSetMacro(IntegrationStepUnit, 
int);
 
   47  vtkGetMacro(IntegrationStepUnit, 
int);
 
   54  vtkSetMacro(MaxNumSteps, 
int);
 
   55  vtkGetMacro(MaxNumSteps, 
int);
 
   63  vtkSetMacro(IntegrationStepSize, 
double);
 
   64  vtkGetMacro(IntegrationStepSize, 
double);
 
   72  vtkSetMacro(SeparatrixDistance, 
double);
 
   73  vtkGetMacro(SeparatrixDistance, 
double);
 
   80  vtkSetMacro(UseIterativeSeeding, 
bool);
 
   81  vtkGetMacro(UseIterativeSeeding, 
bool);
 
   88  vtkSetMacro(ComputeSurfaces, 
bool);
 
   89  vtkGetMacro(ComputeSurfaces, 
bool);
 
   96  vtkSetMacro(ExcludeBoundary, 
bool);
 
   97  vtkGetMacro(ExcludeBoundary, 
bool);
 
  104  vtkSetMacro(UseBoundarySwitchPoints, 
bool);
 
  105  vtkGetMacro(UseBoundarySwitchPoints, 
bool);
 
  118  vtkSetMacro(VectorAngleThreshold, 
double);
 
  119  vtkGetMacro(VectorAngleThreshold, 
double);
 
  126  vtkSetMacro(OffsetAwayFromBoundary, 
double);
 
  127  vtkGetMacro(OffsetAwayFromBoundary, 
double);
 
  134  vtkSetMacro(EpsilonCriticalPoint, 
double);
 
  135  vtkGetMacro(EpsilonCriticalPoint, 
double);
 
  204  int ComputeCriticalPoints2D(
 
  214  int ComputeCriticalPoints3D(
 
  227  static void InterpolateVector(
 
  228    double x0, 
double x1, 
double x, 
const double v0[3], 
const double v1[3], 
double v[3]);
 
  236  int ComputeBoundarySwitchPoints(
 
  254  int ComputeSeparatricesBoundarySwitchPoints(
vtkPolyData* boundarySwitchPoints,
 
  256    int integrationStepUnit, 
double dist, 
int maxNumSteps);
 
  275  int ComputeSeparatricesBoundarySwitchLines(
vtkPolyData* boundarySwitchLines,
 
  277    int maxNumSteps, 
bool computeSurfaces, 
bool useIterativeSeeding);
 
  299    double dist, 
double stepSize, 
int maxNumSteps, 
bool computeSurfaces, 
bool useIterativeSeeding);
 
  317  int ComputeSurface(
int numberOfSeparatingSurfaces, 
bool isBackward, 
double normal[3],
 
  319    double dist, 
double stepSize, 
int maxNumSteps, 
bool useIterativeSeeding);
 
  338  enum CriticalTypeDetailed2D
 
  341    ATTRACTING_NODE_2D = 0,
 
  342    ATTRACTING_FOCUS_2D = 1,
 
  344    REPELLING_NODE_2D = 3,
 
  345    REPELLING_FOCUS_2D = 4,
 
  346    CENTER_DETAILED_2D = 5
 
  367  enum CriticalTypeDetailed3D
 
  369    ATTRACTING_NODE_3D = 0,
 
  370    ATTRACTING_FOCUS_3D = 1,
 
  371    NODE_SADDLE_1_3D = 2,
 
  372    FOCUS_SADDLE_1_3D = 3,
 
  373    NODE_SADDLE_2_3D = 4,
 
  374    FOCUS_SADDLE_2_3D = 5,
 
  375    REPELLING_NODE_3D = 6,
 
  376    REPELLING_FOCUS_3D = 7,
 
  377    CENTER_DETAILED_3D = 8
 
  387  static int Classify2D(
int countComplex, 
int countPos, 
int countNeg);
 
  397  static int ClassifyDetailed2D(
int countComplex, 
int countPos, 
int countNeg);
 
  407  static int Classify3D(
int countComplex, 
int countPos, 
int countNeg);
 
  418  static int ClassifyDetailed3D(
int countComplex, 
int countPos, 
int countNeg);
 
  423  int MaxNumSteps = 100;
 
  428  double IntegrationStepSize = 1;
 
  433  double SeparatrixDistance = 1;
 
  438  bool UseIterativeSeeding = 
false;
 
  443  bool ComputeSurfaces = 
false;
 
  448  const char* NameOfVectorArray;
 
  454  bool ExcludeBoundary = 
false;
 
  476  bool UseBoundarySwitchPoints = 
false;
 
  492  double VectorAngleThreshold = 1;
 
  501  double OffsetAwayFromBoundary = 1e-3;
 
  506  double EpsilonCriticalPoint = 1e-10;
 
abstract class to specify dataset behavior
 
A general filter for gradient estimation.
 
topologically and geometrically regular array of data
 
a simple class to control print indentation
 
Allocate and hold a VTK object.
 
represent and manipulate 3D points
 
Superclass for algorithms that produce only polydata as output.
 
concrete dataset represents vertices, lines, polygons, and triangle strips
 
Hold a reference to a vtkObjectBase instance.
 
Advect a stream surface in a vector field.
 
@ INTERPOLATOR_WITH_DATASET_POINT_LOCATOR
 
dataset represents arbitrary combinations of all possible cell types
 
Extract the topological skeleton as output datasets.
 
void SetInterpolatorTypeToCellLocator()
Set the velocity field interpolator type to the one involving a cell locator.
 
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
 
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
 
static vtkVectorFieldTopology * New()
 
void SetInterpolatorTypeToDataSetPointLocator()
Set the velocity field interpolator type to the one involving a dataset point locator.
 
~vtkVectorFieldTopology() override
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
void SetInterpolatorType(int interpType)
Set the type of the velocity field interpolator to determine whether INTERPOLATOR_WITH_DATASET_POINT_...
 
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.