X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_CalculationCase.h;h=74a128e0988751fe2f468b877ff8e50b1a70cadf;hb=4659606cd0b30ee7b8c33bec27913ba5c8414b92;hp=e71b191a81105fc5688e2b2f621b394c0d0238d4;hpb=00aa7cf3ceb5291303342ce1ce84d5e0cb49319a;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_CalculationCase.h b/src/HYDROData/HYDROData_CalculationCase.h index e71b191a..74a128e0 100644 --- a/src/HYDROData/HYDROData_CalculationCase.h +++ b/src/HYDROData/HYDROData_CalculationCase.h @@ -24,6 +24,7 @@ #include #include #include +#include #ifdef WIN32 #pragma warning ( disable: 4251 ) @@ -43,20 +44,17 @@ class gp_XY; class TopoDS_Shape; class TopoDS_Shell; -class TopTools_ListOfShape; - -class Handle(HYDROData_Object); -class Handle(HYDROData_Region); -class Handle(HYDROData_Zone); -class Handle(HYDROData_PolylineXY); -class Handle(HYDROData_ShapesGroup); -class Handle(HYDROData_SplitShapesGroup); -class Handle(HYDROData_Document); -class Handle(HYDROData_StricklerTable); -class Handle(HYDROData_LandCoverMap); - -DEFINE_STANDARD_HANDLE(HYDROData_CalculationCase, HYDROData_Entity) +class HYDROData_Object; +class HYDROData_Region; +class HYDROData_Zone; +class HYDROData_PolylineXY; +class HYDROData_ShapesGroup; +class HYDROData_SplitShapesGroup; +class HYDROData_Document; +class HYDROData_StricklerTable; +class HYDROData_LandCoverMap; +class HYDROData_BCPolygon; /**\class HYDROData_CalculationCase * \brief Calculation case is defined by selection of Geometry objects with or without �Zone of water�. @@ -105,11 +103,11 @@ public: DataTag_LandCoverRegion_Obsolete, ///< reference land cover regions DataTag_LandCoverMap, ///< reference to land cover map + DataTag_BCPolygon ///< reference boundary polygons }; public: - - DEFINE_STANDARD_RTTI(HYDROData_CalculationCase); + DEFINE_STANDARD_RTTIEXT(HYDROData_CalculationCase, HYDROData_Entity); /** * Returns the kind of this object. Must be redefined in all objects of known type. @@ -281,6 +279,12 @@ public: HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetInterPolyObjects() const; + HYDRODATA_EXPORT virtual bool AddBoundaryPolygon( const Handle(HYDROData_BCPolygon)& theBCPolygon ); + + HYDRODATA_EXPORT virtual void RemoveBoundaryPolygon( const Handle(HYDROData_BCPolygon)& theBCPolygon ); + + HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetBoundaryPolygons() const; + /** * Exports the calculation case data (shell and groups) to GEOM module. * \param theStudyId the id of the study where the GEOM module should be used for export @@ -300,7 +304,8 @@ public: HYDRODATA_EXPORT virtual bool Export( GEOM::GEOM_Gen_var theGeomEngine, SALOMEDS::Study_ptr theStudy, QString& theGeomObjEntry, - QString& theErrorMsg ) const; + QString& theErrorMsg, + QString& statMess) const; #endif public: @@ -340,6 +345,12 @@ public: */ HYDRODATA_EXPORT double GetStricklerCoefficientForPoint( const gp_XY& thePoint ) const; + HYDRODATA_EXPORT std::vector GetStricklerCoefficientForPoints(const std::vector& thePoints, + double DefValue, + bool UseMax ) const; + + HYDRODATA_EXPORT std::vector GetStricklerTypeForPoints( const std::vector& thePoints ) const; + /** * Returns altitudes for given points on given region. * \param thePoints the points to examine @@ -435,7 +446,7 @@ private: #ifndef LIGHT_MODE bool Export( GEOM::GEOM_Gen_var theGeomEngine, SALOMEDS::Study_ptr theStudy, - const TopTools_ListOfShape& theFaces, + const NCollection_IndexedDataMap& aFacesToName, const HYDROData_ShapesGroup::SeqOfGroupsDefs& theGroupsDefs, QString& theGeomObjEntry ) const; #endif