68 #ifndef vtkGenericStreamTracer_h
69 #define vtkGenericStreamTracer_h
154 void SetIntegratorType(
int type);
155 int GetIntegratorType();
157 {this->SetIntegratorType(RUNGE_KUTTA2);};
159 {this->SetIntegratorType(RUNGE_KUTTA4);};
161 {this->SetIntegratorType(RUNGE_KUTTA45);};
167 void SetMaximumPropagation(
int unit,
double max);
168 void SetMaximumPropagation(
double max);
169 void SetMaximumPropagationUnit(
int unit);
170 int GetMaximumPropagationUnit();
171 double GetMaximumPropagation();
173 {this->SetMaximumPropagationUnit(TIME_UNIT);};
175 {this->SetMaximumPropagationUnit(LENGTH_UNIT);};
177 {this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);};
184 void SetMinimumIntegrationStep(
int unit,
double step);
185 void SetMinimumIntegrationStepUnit(
int unit);
186 void SetMinimumIntegrationStep(
double step);
187 int GetMinimumIntegrationStepUnit();
188 double GetMinimumIntegrationStep();
190 {this->SetMinimumIntegrationStepUnit(TIME_UNIT);};
192 {this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);};
194 {this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);};
201 void SetMaximumIntegrationStep(
int unit,
double step);
202 void SetMaximumIntegrationStepUnit(
int unit);
203 void SetMaximumIntegrationStep(
double step);
204 int GetMaximumIntegrationStepUnit();
205 double GetMaximumIntegrationStep();
207 {this->SetMaximumIntegrationStepUnit(TIME_UNIT);};
209 {this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);};
211 {this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);};
218 void SetInitialIntegrationStep(
int unit,
double step);
219 void SetInitialIntegrationStepUnit(
int unit);
220 void SetInitialIntegrationStep(
double step);
221 int GetInitialIntegrationStepUnit();
222 double GetInitialIntegrationStep();
224 {this->SetInitialIntegrationStepUnit(TIME_UNIT);};
226 {this->SetInitialIntegrationStepUnit(LENGTH_UNIT);};
228 {this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);};
257 this->SetInitialIntegrationStepUnit(unit);
258 this->SetMinimumIntegrationStepUnit(unit);
259 this->SetMaximumIntegrationStepUnit(unit);
278 {this->SetIntegrationDirection(FORWARD);};
280 {this->SetIntegrationDirection(BACKWARD);};
282 {this->SetIntegrationDirection(BOTH);};
306 {this->SetInputVectorsSelection(fieldName);}
322 {
vtkErrorMacro( <<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject."); };
335 double vorticity[3]);
345 void SimpleIntegrate(
double seed[3],
351 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
360 double StartPosition[3];
379 void SetIntervalInformation(
int unit,
double interval,
383 double cellLength,
double speed);
385 double cellLength,
double speed);
387 double cellLength,
double speed);
389 double cellLength,
double speed);
390 void ConvertIntervals(
double& step,
double& minStep,
double& maxStep,
void SetMinimumIntegrationStepUnitToLengthUnit()
void SetMaximumPropagationUnitToTimeUnit()
GLuint GLuint GLsizei GLenum type
virtual int FillInputPortInformation(int port, vtkInformation *info)
void SetIntegrationDirectionToBackward()
static const double EPSILON
void SelectInputVectors(const char *fieldName)
vtkGenericInterpolatedVelocityField * InterpolatorPrototype
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetInitialIntegrationStepUnitToTimeUnit()
void SetInitialIntegrationStepUnitToCellLengthUnit()
void SetMinimumIntegrationStepUnitToTimeUnit()
#define vtkGetMacro(name, type)
void AddInputData(vtkDataObject *)
#define VTKFILTERSGENERIC_EXPORT
void SetIntegrationDirectionToBoth()
vtkInitialValueProblemSolver * Integrator
#define vtkSetClampMacro(name, type, min, max)
concrete dataset represents vertices, lines, polygons, and triangle strips
#define vtkSetStringMacro(name)
abstract class defined API for attribute data
void AddInput(vtkDataObject *)
#define vtkTypeMacro(thisClass, superclass)
IntervalInformation MinimumIntegrationStep
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
dynamic, self-adjusting array of int
Superclass for algorithms that produce only polydata as output.
void SetInitialIntegrationStepUnitToLengthUnit()
a simple class to control print indentation
list of point or cell ids
IntervalInformation MaximumIntegrationStep
abstract superclass for arrays of numeric data
void SetMaximumIntegrationStepUnitToCellLengthUnit()
#define vtkGetVector3Macro(name, type)
char * InputVectorsSelection
#define vtkGetStringMacro(name)
#define vtkGetObjectMacro(name, type)
void SetIntegrationDirectionToForward()
void SetIntegratorTypeToRungeKutta2()
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetIntegratorTypeToRungeKutta4()
void SetMaximumPropagationUnitToLengthUnit()
IntervalInformation MaximumPropagation
void SetIntegratorTypeToRungeKutta45()
#define vtkBooleanMacro(name, type)
defines dataset interface
IntervalInformation InitialIntegrationStep
general representation of visualization data
#define vtkSetVector3Macro(name, type)
void SetMaximumPropagationUnitToCellLengthUnit()
vtkIdType MaximumNumberOfSteps
void SetMaximumIntegrationStepUnitToLengthUnit()
Interface for obtaining interpolated velocity values.
void SetMaximumIntegrationStepUnitToTimeUnit()
void SetMinimumIntegrationStepUnitToCellLengthUnit()
Integrate a set of ordinary differential equations (initial value problem) in time.
void SetIntegrationStepUnit(int unit)
int GenerateNormalsInIntegrate
#define vtkSetMacro(name, type)