Salome HOME
Initial merge of branch 'BR_HYDRO_IMPS_2016' into BR_PORTING_OCCT_7
[modules/hydro.git] / src / HYDROData / HYDROData_LandCoverMap.h
index 736a8d7e16a49be03a5bd26bc029a5d39f62fada..e00eaebd9be20760f0dbfa058d8e1c6b3c77e3a0 100644 (file)
 #include <QString>
 #include <TopoDS_Face.hxx>
 #include <TopExp_Explorer.hxx>
+#include <vector>
+#include <set>
 
-class Handle_HYDROData_StricklerTable;
+class HYDROData_StricklerTable;
 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 
 typedef NCollection_IndexedDataMap<TopoDS_Face, QString> HYDROData_MapOfFaceToStricklerType;
 
-DEFINE_STANDARD_HANDLE( HYDROData_LandCoverMap, HYDROData_Entity )
-
 class TopoDS_Shape;
 class TopoDS_Wire;
 class TopoDS_Iterator;
-class TopTools_ListOfShape;
-class Handle( HYDROData_PolylineXY );
-class Handle( HYDROData_Object );
-class gp_Pnt2d;
+class HYDROData_PolylineXY;
+class HYDROData_Object;
+class gp_XY;
 
 class HYDROData_LandCoverMap : public HYDROData_Entity
 {
@@ -109,11 +108,13 @@ public:
 
   HYDRODATA_EXPORT bool ExportTelemac( const QString& theFileName,
                                        double theDeflection,
-                                       const Handle_HYDROData_StricklerTable& theTable ) const;
+                                       const Handle(HYDROData_StricklerTable)& theTable,
+                                       QString& statMessage) const;
 
   HYDRODATA_EXPORT bool Add( const Handle( HYDROData_Object )&, const QString& theType );
   HYDRODATA_EXPORT bool Add( const Handle( HYDROData_PolylineXY )&, const QString& theType );
 
+  using HYDROData_Entity::Remove;
   HYDRODATA_EXPORT bool Remove( const TopoDS_Face& );
   HYDRODATA_EXPORT bool Remove( const TopTools_ListOfShape& );
 
@@ -142,10 +143,18 @@ public:
   HYDRODATA_EXPORT void SetTransparency( double );
   HYDRODATA_EXPORT double GetTransparency() const;
 
-  HYDRODATA_EXPORT TopoDS_Shape RemoveInternal(const TopoDS_Shape& InSh);
+  HYDRODATA_EXPORT void RemoveInternal(TopoDS_Shape& ShToRebuild, NCollection_IndexedDataMap<TopoDS_Face, TopoDS_Face>* aF2FReplace);
 
   HYDRODATA_EXPORT bool CheckLinear();
 
+  HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy );
+
+  HYDRODATA_EXPORT void ClassifyPoints( const std::vector<gp_XY>& thePoints, std::vector<std::set <QString> >& theTypes ) const;
+
+  HYDRODATA_EXPORT void ClassifyPoints( const std::vector<gp_XY>& thePoints,
+    Handle(HYDROData_StricklerTable) theTable, 
+    std::vector<double>& theCoeffs, double DefValue, bool UseMax ) const;
+
 protected:
   void SetShape( const TopoDS_Shape& );
 
@@ -159,7 +168,7 @@ protected:
                                  double theTolerance = 1E-5 );
 
 public:
-  DEFINE_STANDARD_RTTI( HYDROData_LandCoverMap );
+  DEFINE_STANDARD_RTTIEXT( HYDROData_LandCoverMap, HYDROData_Entity );
 
 private:
   friend class Explorer;