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 
   53VTK_ABI_NAMESPACE_BEGIN
 
  113  vtkGetMacro(MaximumPropagationDistance, 
double);
 
  129  vtkGetMacro(IntegrationEigenvector, 
int);
 
  130  void SetIntegrationEigenvectorToMajor()
 
  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);
 
  208  vtkGetMacro(TerminalEigenvalue, 
double);
 
  217  vtkGetMacro(NumberOfSides, 
int);
 
  228  vtkGetMacro(Radius, 
double);
 
  257  double StartPCoords[3];
 
  260  double StartPosition[3];
 
abstract class to specify dataset behavior
 
generate hyperstreamline in arbitrary dataset
 
double MaximumPropagationDistance
 
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
 
void IntegrateMinorEigenvector()
Use the minor eigenvector field as the vector field through which to integrate.
 
void IntegrateMediumEigenvector()
Use the medium eigenvector field as the vector field through which to integrate.
 
~vtkHyperStreamline() override
 
int BuildTube(vtkDataSet *input, vtkPolyData *output)
 
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
 
void SetIntegrationDirectionToBackward()
Specify the direction in which to integrate the hyperstreamline.
 
void SetIntegrationEigenvectorToMedium()
Set / get the eigenvector field through which to ingrate.
 
void SetStartLocation(vtkIdType cellId, int subId, double r, double s, double t)
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 SetIntegrationDirectionToForward()
Specify the direction in which to integrate the hyperstreamline.
 
vtkIdType GetStartLocation(int &subId, double pcoords[3])
Get the starting location of the hyperstreamline in the cell coordinate system.
 
void SetStartLocation(vtkIdType cellId, int subId, double pcoords[3])
Specify the start of the hyperstreamline in the cell coordinate system.
 
double * GetStartPosition()
Get the start position of the hyperstreamline in global x-y-z coordinates.
 
void SetIntegrationDirectionToIntegrateBothDirections()
Specify the direction in which to integrate the hyperstreamline.
 
void IntegrateMajorEigenvector()
Use the major eigenvector field as the vector field through which to integrate.
 
vtkHyperArray * Streamers
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
double IntegrationStepLength
 
int IntegrationEigenvector
 
double TerminalEigenvalue
 
void SetIntegrationEigenvectorToMinor()
Set / get the eigenvector field through which to ingrate.
 
void SetStartPosition(double x[3])
Specify the start of the hyperstreamline in the global coordinate system.
 
void SetStartPosition(double x, double y, double z)
Specify the start of the hyperstreamline in the global coordinate system.
 
a simple class to control print indentation
 
Superclass for algorithms that produce only polydata as output.
 
concrete dataset represents vertices, lines, polygons, and triangle strips
 
#define VTK_INTEGRATE_BACKWARD
 
#define VTK_INTEGRATE_MAJOR_EIGENVECTOR
 
#define VTK_INTEGRATE_MEDIUM_EIGENVECTOR
 
#define VTK_INTEGRATE_FORWARD
 
#define VTK_INTEGRATE_MINOR_EIGENVECTOR
 
#define VTK_INTEGRATE_BOTH_DIRECTIONS
 
#define VTK_SIZEHINT(...)