50 #ifndef vtkHyperStreamline_h
51 #define vtkHyperStreamline_h
56 #define VTK_INTEGRATE_FORWARD 0
57 #define VTK_INTEGRATE_BACKWARD 1
58 #define VTK_INTEGRATE_BOTH_DIRECTIONS 2
60 #define VTK_INTEGRATE_MAJOR_EIGENVECTOR 0
61 #define VTK_INTEGRATE_MEDIUM_EIGENVECTOR 1
62 #define VTK_INTEGRATE_MINOR_EIGENVECTOR 2
82 void SetStartLocation(
vtkIdType cellId,
int subId,
double pcoords[3]);
88 void SetStartLocation(
vtkIdType cellId,
int subId,
double r,
double s,
94 vtkIdType GetStartLocation(
int& subId,
double pcoords[3]);
99 void SetStartPosition(
double x[3]);
104 void SetStartPosition(
double x,
double y,
double z);
108 double *GetStartPosition();
113 vtkSetClampMacro(MaximumPropagationDistance,
double,0.0,
VTK_DOUBLE_MAX);
114 vtkGetMacro(MaximumPropagationDistance,
double);
125 vtkSetClampMacro(IntegrationEigenvector,
int,
128 vtkGetMacro(IntegrationEigenvector,
int);
142 {this->SetIntegrationEigenvectorToMajor();};
150 {this->SetIntegrationEigenvectorToMedium();};
158 {this->SetIntegrationEigenvectorToMinor();};
164 vtkSetClampMacro(IntegrationStepLength,
double,0.001,0.5);
165 vtkGetMacro(IntegrationStepLength,
double);
172 vtkSetClampMacro(StepLength,
double,0.000001,1.0);
173 vtkGetMacro(StepLength,
double);
178 vtkSetClampMacro(IntegrationDirection,
int,
180 vtkGetMacro(IntegrationDirection,
int);
193 vtkGetMacro(TerminalEigenvalue,
double);
200 vtkGetMacro(NumberOfSides,
int);
209 vtkGetMacro(Radius,
double);
215 vtkSetMacro(LogScaling,
int);
216 vtkGetMacro(LogScaling,
int);
217 vtkBooleanMacro(LogScaling,
int);
236 double StartPCoords[3];
239 double StartPosition[3];
double MaximumPropagationDistance
virtual int FillInputPortInformation(int port, vtkInformation *info)
void IntegrateMinorEigenvector()
void SetIntegrationEigenvectorToMinor()
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetIntegrationDirectionToForward()
void SetIntegrationDirectionToBackward()
concrete dataset represents vertices, lines, polygons, and triangle strips
#define VTK_INTEGRATE_MAJOR_EIGENVECTOR
#define VTK_INTEGRATE_MEDIUM_EIGENVECTOR
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
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()
#define VTKFILTERSGENERAL_EXPORT
double TerminalEigenvalue
void SetIntegrationEigenvectorToMajor()
#define VTK_INTEGRATE_BACKWARD
vtkHyperArray * Streamers
void SetIntegrationDirectionToIntegrateBothDirections()
void IntegrateMediumEigenvector()
void IntegrateMajorEigenvector()
#define VTK_INTEGRATE_BOTH_DIRECTIONS
generate hyperstreamline in arbitrary dataset