+HYDROData_Zone::MergeBathymetriesType HYDROData_Zone::GetMergeType() const
+{
+ MergeBathymetriesType aMergeType = Merge_UNKNOWN;
+
+ Handle(TDataStd_Integer) anInt;
+ if ( myLab.FindChild( DataTag_MergeType ).FindAttribute( TDataStd_Integer::GetID(), anInt ) )
+ aMergeType = (MergeBathymetriesType)anInt->Get();
+
+ return aMergeType;
+}
+
+void HYDROData_Zone::SetMergeBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry )
+{
+ SetReferenceObject( theBathymetry, DataTag_Bathymetry );
+}
+
+Handle(HYDROData_Bathymetry) HYDROData_Zone::GetMergeBathymetry() const
+{
+ return Handle(HYDROData_Bathymetry)::DownCast(
+ GetReferenceObject( DataTag_Bathymetry ) );
+}
+
+void HYDROData_Zone::RemoveMergeBathymetry()
+{
+ ClearReferenceObjects( DataTag_Bathymetry );
+}
+
+bool HYDROData_Zone::AddGeometryObject( const Handle(HYDROData_Object)& theObject )
+{
+ if ( theObject.IsNull() )
+ return false;
+
+ if ( !theObject->IsKind( STANDARD_TYPE(HYDROData_ArtificialObject) ) &&
+ !theObject->IsKind( STANDARD_TYPE(HYDROData_NaturalObject) ) )
+ return false; // Wrong type of object
+
+ if ( HasReference( theObject, DataTag_GeometryObject ) )
+ return false; // Object is already in reference list
+
+ AddReferenceObject( theObject, DataTag_GeometryObject );
+ return true;
+}
+
+HYDROData_SequenceOfObjects HYDROData_Zone::GetGeometryObjects() const
+{
+ return GetReferenceObjects( DataTag_GeometryObject );
+}
+
+void HYDROData_Zone::RemoveGeometryObjects()