X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_CalculationCase.h;h=ad8a5609ff3f752824364c250de9c020e15d3bd1;hb=b86ee42a0010ef6bde30373a8741dd865d557dd3;hp=7db0d86bfcb91b9e6b5d7895984ad58968818b18;hpb=7862adb233d790977d8b4e54c08cb0c4f05c3992;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_CalculationCase.h b/src/HYDROData/HYDROData_CalculationCase.h index 7db0d86b..ad8a5609 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,19 @@ 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_SplittedShapesGroup); -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_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 @@ -92,10 +89,11 @@ public: DataTag_Region, ///< reference regions DataTag_Polyline, ///< reference boundary polyline DataTag_GeometryGroup, ///< reference geometry groups - DataTag_SplittedGroups, ///< reference splitted groups + DataTag_SplitGroups, ///< reference split groups 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 @@ -107,8 +105,7 @@ public: }; 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. @@ -117,7 +114,7 @@ public: /** * Updates the name of this object. - * Reimplemented to update the names of regions, zones and splitted groups. + * Reimplemented to update the names of regions, zones and split groups. */ HYDRODATA_EXPORT virtual void SetName( const QString& theName ); @@ -267,12 +264,18 @@ public: /** * Returns all reference geometry groups of calculation case. */ - HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetSplittedGroups() const; + HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetSplitGroups() const; /** * Removes all reference geometry groups from calculation case. */ - HYDRODATA_EXPORT virtual void RemoveSplittedGroups(); + 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; /** * Exports the calculation case data (shell and groups) to GEOM module. @@ -293,7 +296,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 +317,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 +327,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 +337,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 +351,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 +362,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. @@ -409,22 +423,22 @@ private: bool isPrefix = true ); /** - * Add new one splitted edges group for calculation case. + * Add new one split edges group for calculation case. */ - Handle(HYDROData_SplittedShapesGroup) addNewSplittedGroup( const QString& theName ); + Handle(HYDROData_SplitShapesGroup) addNewSplitGroup( const QString& theName ); /** * Exports the given faces as shell and the given groups to GEOM module. * \param theGeomEngine GEOM module engine * \param theStudy SALOMEDS study, is used for publishing of GEOM objects * \param theFaces the list of faces to make shell - * \param theSplittedGroups the list of groups + * \param theSplitGroups the list of groups * \return true in case of success */ #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