X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_CalculationCase.h;h=74a128e0988751fe2f468b877ff8e50b1a70cadf;hb=4659606cd0b30ee7b8c33bec27913ba5c8414b92;hp=88f2c901abb59b7245b4ecd5f824ed30c6ef8308;hpb=c3aaf9774d926aa6095597b4d52a8858dc0898c5;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_CalculationCase.h b/src/HYDROData/HYDROData_CalculationCase.h index 88f2c901..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,23 +44,20 @@ 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”. + * \brief Calculation case is defined by selection of Geometry objects with or without �Zone of water�. * */ class HYDROData_CalculationCase : public HYDROData_Entity @@ -96,6 +94,7 @@ public: DataTag_CustomRules, ///< custom rules DataTag_AssignmentMode, ///< assignment mode DataTag_StricklerTable, ///< reference Strickler table + DataTag_InterPoly, ///< intersection polyline DataTag_LandCover_Obsolete, ///< reference land covers DataTag_CustomLandCoverRules_Obsolete, ///< custom rules for land covers priority @@ -104,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. @@ -274,6 +273,18 @@ public: */ HYDRODATA_EXPORT virtual void RemoveSplitGroups(); + HYDRODATA_EXPORT virtual bool AddInterPoly( const Handle(HYDROData_PolylineXY)& theInterPolyline ); + + HYDRODATA_EXPORT virtual void RemoveInterPolyObject( const Handle(HYDROData_PolylineXY)& theInterPolyline ); + + 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 @@ -293,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: @@ -313,7 +325,8 @@ public: * \return result altitude value */ HYDRODATA_EXPORT virtual double GetAltitudeForPoint( const gp_XY& thePoint, - const Handle(HYDROData_Region)& theRegion ) const; + const Handle(HYDROData_Region)& theRegion, + int theMethod = 0) const; /** * Returns altitude for given point on given zone. @@ -322,7 +335,8 @@ public: * \return result altitude value */ HYDRODATA_EXPORT virtual double GetAltitudeForPoint( const gp_XY& thePoint, - const Handle(HYDROData_Zone)& theZone ) const; + const Handle(HYDROData_Zone)& theZone, + int theMethod = 0) const; /** * Returns strickler coefficient for given point. @@ -331,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 @@ -339,7 +359,8 @@ public: */ HYDRODATA_EXPORT virtual NCollection_Sequence GetAltitudesForPoints( const NCollection_Sequence& thePoints, - const Handle(HYDROData_Region)& theRegion ) const; + const Handle(HYDROData_Region)& theRegion, + int theMethod = 0) const; /** * Returns altitudes for given points on given zone. @@ -349,7 +370,8 @@ public: */ HYDRODATA_EXPORT virtual NCollection_Sequence GetAltitudesForPoints( const NCollection_Sequence& thePoints, - const Handle(HYDROData_Zone)& theZone ) const; + const Handle(HYDROData_Zone)& theZone, + int theMethod = 0) const; /** * Returns region to which the point is belongs. @@ -424,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