Salome HOME
merge master
[modules/hydro.git] / src / HYDROData / HYDROData_Zone.cxx
index c0a5a884e0c5cf4861ca2f8b46a6959bbfc3a8bf..6f247eddc32f07a68190252993d20c8f155effff 100644 (file)
 #include "HYDROData_IAltitudeObject.h"
 #include "HYDROData_Document.h"
 #include "HYDROData_NaturalObject.h"
-#include "HYDROData_LandCover.h"
-
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-
-#include <TopoDS_Shape.hxx>
-
 #include <QStringList>
-
 #include <TDataStd_Integer.hxx>
+#include <TopoDS_Shape.hxx>
 
 #define _DEVDEBUG_
 #include "HYDRO_trace.hxx"
@@ -77,21 +70,12 @@ HYDROData_SequenceOfObjects HYDROData_Zone::GetAllReferenceObjects() const
 
 void HYDROData_Zone::SetShape( const TopoDS_Shape& theShape )
 {
-  TNaming_Builder aBuilder( myLab.FindChild( DataTag_Shape ) );
-  aBuilder.Generated( theShape );
+  HYDROData_Entity::SetShape( DataTag_Shape, theShape );
 }
 
 TopoDS_Shape HYDROData_Zone::GetShape() const
 {
-  TDF_Label aLabel = myLab.FindChild( DataTag_Shape, false );
-  if ( !aLabel.IsNull() )
-  {
-    Handle(TNaming_NamedShape) aNamedShape;
-    if( aLabel.FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
-      return aNamedShape->Get();
-  }
-
-  return TopoDS_Shape();
+  return HYDROData_Entity::GetShape( DataTag_Shape );
 }
 
 bool HYDROData_Zone::IsMergingNeed() const
@@ -122,30 +106,6 @@ bool HYDROData_Zone::IsMergingNeed() const
       return true;
   }
 
-  // Zones based on land cover objects (compare Strickler types)
-  QString aRefStricklerType;
-
-  anObjsIter.Init( anObjects );
-  for ( ; anObjsIter.More(); anObjsIter.Next() )
-  {
-    Handle(HYDROData_LandCover) aRefLandCoverObj =
-      Handle(HYDROData_LandCover)::DownCast( anObjsIter.Value() );
-    if ( aRefLandCoverObj.IsNull() )
-      continue;
-
-    QString aStricklerType = aRefLandCoverObj->GetStricklerType();
-    
-    if ( aRefStricklerType.isNull() )
-    {
-      aRefStricklerType = aStricklerType;
-      continue;
-    }
-
-    if ( aRefStricklerType != aStricklerType )
-      return true;
-  }
-
-
   return false;
 }
 
@@ -202,8 +162,7 @@ bool HYDROData_Zone::AddObject( const Handle(HYDROData_Entity)& theObject )
     return false;
   
   if ( !theObject->IsKind( STANDARD_TYPE(HYDROData_ArtificialObject) ) &&
-       !theObject->IsKind( STANDARD_TYPE(HYDROData_NaturalObject) ) && 
-       !theObject->IsKind( STANDARD_TYPE(HYDROData_LandCover) ) )
+       !theObject->IsKind( STANDARD_TYPE(HYDROData_NaturalObject) ) )
     return false; // Wrong type of object
 
   if ( HasReference( theObject, DataTag_Object ) )