39 #ifndef vtkHyperStreamline_h
40 #define vtkHyperStreamline_h
42 #include "vtkFiltersGeneralModule.h"
45 #define VTK_INTEGRATE_FORWARD 0
46 #define VTK_INTEGRATE_BACKWARD 1
47 #define VTK_INTEGRATE_BOTH_DIRECTIONS 2
49 #define VTK_INTEGRATE_MAJOR_EIGENVECTOR 0
50 #define VTK_INTEGRATE_MEDIUM_EIGENVECTOR 1
51 #define VTK_INTEGRATE_MINOR_EIGENVECTOR 2
53 VTK_ABI_NAMESPACE_BEGIN
74 void SetStartLocation(
vtkIdType cellId,
int subId,
double pcoords[3]);
80 void SetStartLocation(
vtkIdType cellId,
int subId,
double r,
double s,
double t);
86 vtkIdType GetStartLocation(
int& subId,
double pcoords[3]);
93 void SetStartPosition(
double x[3]);
100 void SetStartPosition(
double x,
double y,
double z);
112 vtkSetClampMacro(MaximumPropagationDistance,
double, 0.0,
VTK_DOUBLE_MAX);
113 vtkGetMacro(MaximumPropagationDistance,
double);
129 vtkGetMacro(IntegrationEigenvector,
int);
130 void SetIntegrationEigenvectorToMajor()
132 this->SetIntegrationEigenvector(VTK_INTEGRATE_MAJOR_EIGENVECTOR);
171 vtkSetClampMacro(IntegrationStepLength,
double, 0.001, 0.5);
172 vtkGetMacro(IntegrationStepLength,
double);
181 vtkSetClampMacro(StepLength,
double, 0.000001, 1.0);
182 vtkGetMacro(StepLength,
double);
190 vtkGetMacro(IntegrationDirection,
int);
207 vtkSetClampMacro(TerminalEigenvalue,
double, 0.0,
VTK_DOUBLE_MAX);
208 vtkGetMacro(TerminalEigenvalue,
double);
216 vtkSetClampMacro(NumberOfSides,
int, 3,
VTK_INT_MAX);
217 vtkGetMacro(NumberOfSides,
int);
228 vtkGetMacro(Radius,
double);
257 double StartPCoords[3];
260 double StartPosition[3];
298 VTK_ABI_NAMESPACE_END
double MaximumPropagationDistance
void IntegrateMinorEigenvector()
Use the minor eigenvector field as the vector field through which to integrate.
void SetIntegrationEigenvectorToMinor()
Set / get the eigenvector field through which to ingrate.
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void SetIntegrationDirectionToForward()
Specify the direction in which to integrate the hyperstreamline.
void SetIntegrationDirectionToBackward()
Specify the direction in which to integrate the hyperstreamline.
concrete dataset represents vertices, lines, polygons, and triangle strips
#define VTK_INTEGRATE_MAJOR_EIGENVECTOR
#define VTK_INTEGRATE_MEDIUM_EIGENVECTOR
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
#define VTK_INTEGRATE_MINOR_EIGENVECTOR
a simple class to control print indentation
double IntegrationStepLength
#define VTK_INTEGRATE_FORWARD
int IntegrationEigenvector
void SetIntegrationEigenvectorToMedium()
Set / get the eigenvector field through which to ingrate.
double TerminalEigenvalue
#define VTK_SIZEHINT(...)
#define VTK_INTEGRATE_BACKWARD
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkHyperArray * Streamers
void SetIntegrationDirectionToIntegrateBothDirections()
Specify the direction in which to integrate the hyperstreamline.
void IntegrateMediumEigenvector()
Use the medium eigenvector field as the vector field through which to integrate.
void IntegrateMajorEigenvector()
Use the major eigenvector field as the vector field through which to integrate.
#define VTK_INTEGRATE_BOTH_DIRECTIONS
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
generate hyperstreamline in arbitrary dataset