Salome HOME
Lot 2: change bathy associated to natural object propagated to all cases without...
[modules/hydro.git] / src / HYDROData / HYDROData_DTM.h
index 59d3cd6811e8a7f60c67620e63f6512661e8cc50..d564d56c6728771cca43caaad7fdc0268ca6d791 100644 (file)
@@ -34,6 +34,7 @@
 
 #include <vector>
 #include <set>
+#include <NCollection_DataMap.hxx>
 
 class gp_Pnt;
 class gp_Vec2d;
@@ -133,7 +134,8 @@ protected:
                                      CurveUZ& theMidPointCurve,
                                      CurveUZ& theWidthCurve,
                                      int& intersection_nb,
-                                     double theTolerance = 1E-6 );
+                                     double theTolerance,
+                                     QSet<QString>& warnings);
 
   static void CurveTo3D( const Handle(Geom2d_BSplineCurve)& theHydraulicAxis,
                          const CurveUZ& theMidCurve, const CurveUZ& theWidthCurve,
@@ -141,7 +143,7 @@ protected:
   
   static void Interpolate( const CurveUZ& theCurveA, const CurveUZ& theCurveB, 
                            int theNbSteps, std::vector<CurveUZ>& theInterpolation,
-                           bool isAddSecond );
+                           bool isAddSecond);
 
   static std::vector<AltitudePoints> Interpolate
     ( const Handle(Geom2d_BSplineCurve)& theHydraulicAxis,
@@ -150,14 +152,18 @@ protected:
       const Handle(HYDROData_Profile)& theProfileB,
       double theXCurvB,
       double theDDZ, int theNbSteps, bool isAddSecond,
-      int& inter_nb_1, int& inter_nb_2 );
+      int& inter_nb_1, int& inter_nb_2,
+      NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>>& warnings,
+      bool ToEstimateWarningsOnly);
 
   static AltitudePoints Interpolate( const std::vector<Handle(HYDROData_Profile)>& theProfiles,
                                      double theDDZ, double theSpatialStep,
                                      AltitudePoints& theLeft,
                                      AltitudePoints& theRight,
                                      std::vector<AltitudePoints>& theMainProfiles,
-                                     std::set<int>& invalInd );
+                                     std::set<int>& invalInd, 
+                                     NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>>& warnings,
+                                     bool ToEstimateWarningsOnly);
 
   static void PointsToWire(const AltitudePoints& pnts, TopoDS_Wire& W );
 
@@ -189,7 +195,9 @@ protected:
                              bool Create3dPres,
                              bool Create2dPres,
                              std::set<int>& InvInd,
-                             bool& ProjStat);
+                             bool& ProjStat,
+                             NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>>& warnings,
+                             bool ToEstimateWarningsOnly);
 
   //static bool Get2dFaceFrom3dPres(const TopoDS_Compound& cmp, TopoDS_Face& outF, 
     //TopTools_SequenceOfShape* Boundr = NULL, std::set<int> ind = std::set<int>() );
@@ -219,7 +227,14 @@ public:
                                                        bool Create2dPres,
                                                        std::set<int>& InvInd,
                                                        int thePntsLimit,
-                                                       bool& WireIntersections);
+                                                       bool& WireIntersections,
+                                                       NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>>& warnings,
+                                                       bool& ToEstimateWarnings);
+
+  HYDRODATA_EXPORT void GetWarnings(NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>>& warnings);
+
+  protected:
+    NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>> myWarnings;
 };