X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_CalculationCase.h;h=ad8a5609ff3f752824364c250de9c020e15d3bd1;hb=bd81def133c235351f4c18834c6660450f16b9ee;hp=88f2c901abb59b7245b4ecd5f824ed30c6ef8308;hpb=6527cd5d3063b2724b60b3f87ed1105244b74cb3;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_CalculationCase.h b/src/HYDROData/HYDROData_CalculationCase.h index 88f2c901..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_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_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 +93,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 @@ -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. @@ -274,6 +271,12 @@ 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; + /** * 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 +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. @@ -424,7 +438,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