Salome HOME
debug of DTM/Stream presentations
[modules/hydro.git] / src / HYDROData / HYDROData_DTM.h
index 81c3f1bbbd5354dcb9e49253dccbdb0f45218a14..18280a394c5f8ff51eadcecf310eaaab3b20e7b5 100644 (file)
@@ -63,8 +63,6 @@ public:
 
   HYDRODATA_EXPORT virtual void Update();
 
-  HYDRODATA_EXPORT void CreateBankShapes( TopoDS_Edge& theLeft, TopoDS_Edge& theRight ) const;
-
 public:
   struct PointUZ
   {
@@ -88,18 +86,6 @@ public:
     double myXcurv;
     gp_Vec2d myProfileDir;
   };
-  class Bank
-  {
-  public:
-    void reserve( int theNbPoints );
-    void push_back( const gp_Pnt& thePnt, const gp_Dir& theTangent );
-    void clear();
-    TopoDS_Edge createEdge3d() const;
-
-  public:
-    std::vector<gp_Pnt> myPoints;
-    std::vector<gp_Dir> myDirs;
-  };
 
 protected:
   friend class HYDROData_Iterator;
@@ -129,32 +115,25 @@ protected:
 
   static void CurveTo3D( const Handle_Geom2d_BSplineCurve& theHydraulicAxis,
                          const CurveUZ& theMidCurve, const CurveUZ& theWidthCurve,
-                         AltitudePoints& thePoints,
-                         Bank* theLeftBank = 0,
-                         Bank* theRightBank = 0,
-                         double dz = 0 );
+                         AltitudePoints& thePoints, double dz );
   
   static void Interpolate( const CurveUZ& theCurveA, const CurveUZ& theCurveB, 
                            int theNbSteps, std::vector<CurveUZ>& theInterpolation,
                            bool isAddSecond );
 
-  static AltitudePoints Interpolate( const Handle_Geom2d_BSplineCurve& theHydraulicAxis,
-                                     const Handle_HYDROData_Profile& theProfileA,
-                                     double theXCurvA,
-                                     const Handle_HYDROData_Profile& theProfileB,
-                                     double theXCurvB,
-                                     double theDDZ, int theNbSteps, bool isAddSecond,
-                                     Bank* theLeftBank = 0,
-                                     Bank* theRightBank = 0 );
+  static std::vector<AltitudePoints> Interpolate
+    ( const Handle_Geom2d_BSplineCurve& theHydraulicAxis,
+      const Handle_HYDROData_Profile& theProfileA,
+      double theXCurvA,
+      const Handle_HYDROData_Profile& theProfileB,
+      double theXCurvB,
+      double theDDZ, int theNbSteps, bool isAddSecond );
 
   static AltitudePoints Interpolate( const std::vector<Handle_HYDROData_Profile>& theProfiles,
                                      double theDDZ, double theSpatialStep,
-                                     Bank* theLeftBank = 0,
-                                     Bank* theRightBank = 0 );
-
-private:
-  Bank myLeft;
-  Bank myRight;
+                                     AltitudePoints& theLeft,
+                                     AltitudePoints& theRight,
+                                     std::vector<AltitudePoints>& theMainProfiles );
 };
 
 #endif