// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-#include "HYDROData_CalculationCase.h"
+#ifdef WIN32
+ #pragma warning ( disable: 4251 )
+#endif
+#include "HYDROData_CalculationCase.h"
#include "HYDROData_ArtificialObject.h"
#include "HYDROData_IAltitudeObject.h"
#include "HYDROData_Document.h"
#include <BRepBuilderAPI_MakeVertex.hxx>
#endif
+#ifdef WIN32
+ #pragma warning ( default: 4251 )
+#endif
+
#define EXPORT_NAME "HYDRO_" + GetName()
#include <SALOME_NamingService.hxx>
return aResSeq;
}
+double HYDROData_CalculationCase::GetStricklerCoefficientForPoint( const gp_XY& thePoint ) const
+{
+ double aCoeff = 0;
+ Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( myLab );
+ if ( !aDocument.IsNull() )
+ aCoeff = aDocument->GetDefaultStricklerCoefficient();
+
+ Handle(HYDROData_LandCover) aLandCover;
+ Handle(HYDROData_Zone) aZone = GetZoneFromPoint( thePoint, Standard_True );
+ if ( !aZone.IsNull() )
+ {
+ HYDROData_SequenceOfObjects anObjList = aZone->GetObjects();
+ if ( anObjList.Length() == 1 )
+ aLandCover = Handle(HYDROData_LandCover)::DownCast( anObjList.First() );
+ else
+ aLandCover = Handle(HYDROData_LandCover)::DownCast( aZone->GetMergeObject() );
+ }
+
+ if ( !aLandCover.IsNull() )
+ {
+ QString aType = aLandCover->GetStricklerType();
+ Handle(HYDROData_StricklerTable) aTable = GetStricklerTable();
+ if ( !aTable.IsNull() )
+ {
+ if ( aTable->GetTypes().contains( aType ) )
+ aCoeff = aTable->Get( aType, aCoeff );
+ }
+ }
+
+ return aCoeff;
+}
+
Handle(HYDROData_Region) HYDROData_CalculationCase::GetRegionFromPoint( const gp_XY& thePoint,
const bool theLandCover ) const
{