Go to the documentation of this file.
51 #ifndef vtkHyperStreamline_h
52 #define vtkHyperStreamline_h
54 #include "vtkFiltersGeneralModule.h"
57 #define VTK_INTEGRATE_FORWARD 0
58 #define VTK_INTEGRATE_BACKWARD 1
59 #define VTK_INTEGRATE_BOTH_DIRECTIONS 2
61 #define VTK_INTEGRATE_MAJOR_EIGENVECTOR 0
62 #define VTK_INTEGRATE_MEDIUM_EIGENVECTOR 1
63 #define VTK_INTEGRATE_MINOR_EIGENVECTOR 2
126 vtkGetMacro(MaximumPropagationDistance,
double);
140 vtkSetClampMacro(IntegrationEigenvector,
int,
143 vtkGetMacro(IntegrationEigenvector,
int);
158 {this->SetIntegrationEigenvectorToMajor();};
167 {this->SetIntegrationEigenvectorToMedium();};
175 {this->SetIntegrationEigenvectorToMinor();};
182 vtkSetClampMacro(IntegrationStepLength,
double,0.001,0.5);
183 vtkGetMacro(IntegrationStepLength,
double);
192 vtkSetClampMacro(StepLength,
double,0.000001,1.0);
193 vtkGetMacro(StepLength,
double);
200 vtkSetClampMacro(IntegrationDirection,
int,
202 vtkGetMacro(IntegrationDirection,
int);
217 vtkGetMacro(TerminalEigenvalue,
double);
226 vtkGetMacro(NumberOfSides,
int);
237 vtkGetMacro(Radius,
double);
246 vtkGetMacro(LogScaling,
int);
266 double StartPCoords[3];
269 double StartPosition[3];
272 vtkHyperArray *Streamers;
273 int NumberOfStreamers;
276 double MaximumPropagationDistance;
279 int IntegrationDirection;
282 double IntegrationStepLength;
288 double TerminalEigenvalue;
300 int IntegrationEigenvector;
generate hyperstreamline in arbitrary dataset
#define VTK_INTEGRATE_MAJOR_EIGENVECTOR
#define VTK_INTEGRATE_FORWARD
void SetIntegrationEigenvectorToMedium()
#define VTK_INTEGRATE_BACKWARD
void SetIntegrationDirectionToForward()
void SetStartPosition(double x, double y, double z)
Specify the start of the hyperstreamline in the global coordinate system.
double * GetStartPosition()
Get the start position of the hyperstreamline in global x-y-z coordinates.
void SetIntegrationDirectionToBackward()
#define VTK_INTEGRATE_MEDIUM_EIGENVECTOR
void SetStartPosition(double x[3])
Specify the start of the hyperstreamline in the global coordinate system.
a simple class to control print indentation
~vtkHyperStreamline() override
void IntegrateMediumEigenvector()
Use the medium eigenvector field as the vector field through which to integrate.
void SetIntegrationDirectionToIntegrateBothDirections()
abstract class to specify dataset behavior
void IntegrateMajorEigenvector()
Use the major eigenvector field as the vector field through which to integrate.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkIdType GetStartLocation(int &subId, double pcoords[3])
Get the starting location of the hyperstreamline in the cell coordinate system.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_INTEGRATE_BOTH_DIRECTIONS
concrete dataset represents vertices, lines, polygons, and triangle strips
#define VTK_INTEGRATE_MINOR_EIGENVECTOR
void SetIntegrationEigenvectorToMajor()
void IntegrateMinorEigenvector()
Use the minor eigenvector field as the vector field through which to integrate.
void SetStartLocation(vtkIdType cellId, int subId, double pcoords[3])
Specify the start of the hyperstreamline in the cell coordinate system.
static vtkHyperStreamline * New()
Construct object with initial starting position (0,0,0); integration step length 0....
void SetStartLocation(vtkIdType cellId, int subId, double r, double s, double t)
Specify the start of the hyperstreamline in the cell coordinate system.
void SetIntegrationEigenvectorToMinor()
Superclass for algorithms that produce only polydata as output.