#ifndef HYDROData_CalculationCase_HeaderFile
#define HYDROData_CalculationCase_HeaderFile
-#include <HYDROData_Entity.h>
+#include <HYDROData_ShapesGroup.h>
// IDL includes
#include <SALOMEconfig.h>
class Handle(HYDROData_Region);
class Handle(HYDROData_Zone);
class Handle(HYDROData_PolylineXY);
-class Handle(HYDROData_EdgesGroup);
-class Handle(HYDROData_SplittedEdgesGroup);
+class Handle(HYDROData_ShapesGroup);
+class Handle(HYDROData_SplittedShapesGroup);
DEFINE_STANDARD_HANDLE(HYDROData_CalculationCase, HYDROData_Entity)
/**
* Updates the name of this object.
- * Reimplemented to update the names of regions and zones.
+ * Reimplemented to update the names of regions, zones and splitted groups.
*/
HYDRODATA_EXPORT virtual void SetName( const QString& theName );
/**
* Add new one reference geometry group for calculation case.
*/
- HYDRODATA_EXPORT virtual bool AddGeometryGroup( const Handle(HYDROData_EdgesGroup)& theGroup );
+ HYDRODATA_EXPORT virtual bool AddGeometryGroup( const Handle(HYDROData_ShapesGroup)& theGroup );
/**
* Returns all reference geometry groups of calculation case.
/**
* Removes reference geometry group from calculation case.
*/
- HYDRODATA_EXPORT virtual void RemoveGeometryGroup( const Handle(HYDROData_EdgesGroup)& theGroup );
+ HYDRODATA_EXPORT virtual void RemoveGeometryGroup( const Handle(HYDROData_ShapesGroup)& theGroup );
/**
* Removes all reference geometry groups from calculation case.
* \param theStudy SALOMEDS study, is used for publishing of GEOM objects
* \return true in case of success
*/
- HYDRODATA_EXPORT virtual bool Export( GEOM::GEOM_Gen_var theGeomEngine,
- SALOMEDS::Study_ptr theStudy );
+ HYDRODATA_EXPORT virtual bool Export( GEOM::GEOM_Gen_var theGeomEngine,
+ SALOMEDS::Study_ptr theStudy ) const;
public:
// Public methods to work with Calculation services
*/
HYDRODATA_EXPORT virtual double GetAltitudeForPoint( const gp_XY& thePoint ) const;
+ /**
+ * Returns altitude for given point on given zone.
+ * \param thePoint the point to examine
+ * \param theZone reference zone to check
+ * \return result altitude value
+ */
+ HYDRODATA_EXPORT virtual double GetAltitudeForPoint( const gp_XY& thePoint,
+ const Handle(HYDROData_Zone)& theZone ) const;
+
+ /**
+ * Returns altitudes for given points on given zone.
+ * \param thePoints the points to examine
+ * \param theZone reference zone to check
+ * \return result altitude value
+ */
+ HYDRODATA_EXPORT virtual NCollection_Sequence<double> GetAltitudesForPoints(
+ const NCollection_Sequence<gp_XY>& thePoints,
+ const Handle(HYDROData_Zone)& theZone ) const;
+
/**
* Returns zone to which the point is belongs.
* \param thePoint the point to examine
/**
* Add new one splitted edges group for calculation case.
*/
- HYDRODATA_EXPORT virtual Handle(HYDROData_SplittedEdgesGroup) addNewSplittedGroup();
-
- /**
- * Returns shell containing faces which correspond to regions.
- * \return shell as TopoDS_Shell
- */
- HYDRODATA_EXPORT virtual TopoDS_Shell GetShell();
+ HYDRODATA_EXPORT virtual Handle(HYDROData_SplittedShapesGroup) addNewSplittedGroup();
/**
* Exports the given faces as shell and the given groups to GEOM module.
* \param theSplittedGroups the list of groups
* \return true in case of success
*/
- HYDRODATA_EXPORT bool Export( GEOM::GEOM_Gen_var theGeomEngine,
- SALOMEDS::Study_ptr theStudy,
- const TopTools_ListOfShape& theFaces,
- const HYDROData_SequenceOfObjects& theSplittedGroups );
+ HYDRODATA_EXPORT bool Export( GEOM::GEOM_Gen_var theGeomEngine,
+ SALOMEDS::Study_ptr theStudy,
+ const TopTools_ListOfShape& theFaces,
+ const HYDROData_ShapesGroup::SeqOfGroupsDefs& theGroupsDefs ) const;
/**
* Publish the given shape in GEOM as a GEOM object.
* \param theName the name of the published object
* \return the published GEOM object
*/
- GEOM::GEOM_Object_ptr publishShapeInGEOM( GEOM::GEOM_Gen_var theGeomEngine,
+ GEOM::GEOM_Object_ptr publishShapeInGEOM( GEOM::GEOM_Gen_var theGeomEngine,
SALOMEDS::Study_ptr theStudy,
const TopoDS_Shape& theShape,
- const QString& theName );
+ const QString& theName ) const;
protected: