#include "VISU_DeformedShapePL.hxx"
#include <vtkStreamLine.h>
+using namespace std;
+
class vtkPointSet;
-class SALOME_GeometryFilter;
+class vtkCellCenters;
+class VTKViewer_GeometryFilter;
+class VISU_UsedPointsFilter;
class VISU_StreamLinesPL : public VISU_DeformedShapePL{
protected:
virtual ~VISU_StreamLinesPL();
virtual void ShallowCopy(VISU_PipeLine *thePipeLine);
- virtual int GetDirection();
- virtual void SetDirection(int theDirection);
-
+ virtual int SetParams(float theIntStep,
+ float thePropogationTime,
+ float theStepLength,
+ vtkPointSet* theSource = NULL,
+ float thePercents = 0.3,
+ int theDirection = VTK_INTEGRATE_BOTH_DIRECTIONS,
+ int isOnlyTry = false);
+ virtual vtkPointSet* GetSource();
+ virtual float GetUsedPoints();
+ virtual float GetIntegrationStep();
+ virtual float GetPropagationTime();
virtual float GetStepLength();
- virtual float SetStepLength(float theStep);
+ virtual int GetDirection();
- virtual float GetPropagationTime();
- virtual void SetPropagationTime(float theTime);
+ virtual vtkDataSet* GetStreamerSource();
+ virtual float GetVelocityCoeff();
- virtual float GetIntegrationStep();
- virtual float SetIntegrationStep(float theStep);
+ virtual float GetMaxIntegrationStep();
+ virtual float GetMinIntegrationStep();
- virtual void SetSource(vtkPointSet* theSource);
- virtual vtkPointSet* GetSource() {return mySource;}
+ virtual float GetMinStepLength();
+ virtual float GetMaxStepLength();
- virtual void SetUsedPoints(float thePercents) { myPercents = thePercents;}
- virtual float GetUsedPoints() { return myPercents;}
-
- virtual float GetMaxIntegrationStep(){ return GetMaxIntegrationStep(GetSource());}
- virtual float GetMinIntegrationStep(){ return GetMinIntegrationStep(GetSource());}
- virtual float GetBasePropagationTime(){ return GetBasePropagationTime(GetSource());};
+ virtual float GetMinPropagationTime();
+ virtual float GetMaxPropagationTime();
+ virtual float GetBasePropagationTime();
public:
virtual THook* DoHook();
virtual void SetMapScale(float theMapScale = 1.0);
public:
- static int myMaxIncrementMemorySize;
-
- static float GetMinStepLength(float theIntegrationStep);
- static float GetMaxStepLength(float thePropagationTime);
- static float CorrectStepLength(float theStep, float theIntegrationStep, float thePropagationTime);
-
static float GetMaxIntegrationStep(vtkPointSet* theDataSet);
- static float GetMinIntegrationStep(vtkPointSet* theDataSet);
+ static float GetMinIntegrationStep(vtkPointSet* theDataSet, float thePercents = 0.3);
+ static float GetBaseIntegrationStep(vtkPointSet* theDataSet, float thePercents = 0.3);
+
+ static float GetMinPropagationTime(vtkPointSet* theDataSet);
+ static float GetMaxPropagationTime(vtkPointSet* theDataSet);
static float GetBasePropagationTime(vtkPointSet* theDataSet);
+ static float GetMinStepLength(vtkPointSet* theDataSet);
+ static float GetMaxStepLength(vtkPointSet* theDataSet);
+ static float GetBaseStepLength(vtkPointSet* theDataSet);
+
+ static float GetVelocityCoeff(vtkPointSet* theDataSet);
+
+ static int IsPossible(vtkPointSet* theDataSet, float thePercents = 0.3);
+
protected:
+ static float GetNecasseryMemorySize(vtkIdType theNbOfPoints, float theStepLength,
+ float thePropogationTime, float thePercents = 0.3);
+ static int FindPossibleParams(vtkPointSet* theDataSet, float& theStepLength,
+ float& thePropogationTime, float& thePercents);
+
+ static float CorrectIntegrationStep(float theStep, vtkPointSet* theDataSet, float thePercents = 0.3);
+ static float CorrectPropagationTime(float thePropagationTime, vtkPointSet* theDataSet);
+ static float CorrectStepLength(float theStep, vtkPointSet* theDataSet);
+
vtkStreamLine* myStream;
vtkPointSet* mySource;
- SALOME_GeometryFilter *myGeomFilter;
+ vtkCellCenters* myCenters;
+ VTKViewer_GeometryFilter *myGeomFilter;
+ VISU_UsedPointsFilter *myPointsFilter;
float myPercents;
};
#endif
+