50 #ifndef __vtkHyperStreamline_h
51 #define __vtkHyperStreamline_h
55 #define VTK_INTEGRATE_FORWARD 0
56 #define VTK_INTEGRATE_BACKWARD 1
57 #define VTK_INTEGRATE_BOTH_DIRECTIONS 2
59 #define VTK_INTEGRATE_MAJOR_EIGENVECTOR 0
60 #define VTK_INTEGRATE_MEDIUM_EIGENVECTOR 1
61 #define VTK_INTEGRATE_MINOR_EIGENVECTOR 2
81 void SetStartLocation(
vtkIdType cellId,
int subId,
double pcoords[3]);
87 void SetStartLocation(
vtkIdType cellId,
int subId,
double r,
double s,
93 vtkIdType GetStartLocation(
int& subId,
double pcoords[3]);
98 void SetStartPosition(
double x[3]);
103 void SetStartPosition(
double x,
double y,
double z);
107 double *GetStartPosition();
112 vtkSetClampMacro(MaximumPropagationDistance,
double,0.0,
VTK_DOUBLE_MAX);
113 vtkGetMacro(MaximumPropagationDistance,
double);
124 vtkSetClampMacro(IntegrationEigenvector,
int,
127 vtkGetMacro(IntegrationEigenvector,
int);
141 {this->SetIntegrationEigenvectorToMajor();};
149 {this->SetIntegrationEigenvectorToMedium();};
157 {this->SetIntegrationEigenvectorToMinor();};
163 vtkSetClampMacro(IntegrationStepLength,
double,0.001,0.5);
164 vtkGetMacro(IntegrationStepLength,
double);
171 vtkSetClampMacro(StepLength,
double,0.000001,1.0);
172 vtkGetMacro(StepLength,
double);
177 vtkSetClampMacro(IntegrationDirection,
int,
179 vtkGetMacro(IntegrationDirection,
int);
192 vtkGetMacro(TerminalEigenvalue,
double);
199 vtkGetMacro(NumberOfSides,
int);
208 vtkGetMacro(Radius,
double);
214 vtkSetMacro(LogScaling,
int);
215 vtkGetMacro(LogScaling,
int);
216 vtkBooleanMacro(LogScaling,
int);
235 double StartPCoords[3];
238 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()
double TerminalEigenvalue
void SetIntegrationEigenvectorToMajor()
#define VTK_INTEGRATE_BACKWARD
vtkHyperArray * Streamers
#define VTK_LARGE_INTEGER
void SetIntegrationDirectionToIntegrateBothDirections()
void IntegrateMediumEigenvector()
void IntegrateMajorEigenvector()
#define VTK_INTEGRATE_BOTH_DIRECTIONS
generate hyperstreamline in arbitrary dataset