#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"
IMPLEMENT_STANDARD_HANDLE(HYDROData_Zone, HYDROData_Entity)
IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Zone, HYDROData_Entity)
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
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;
}
void HYDROData_Zone::SetMergeObject( const Handle(HYDROData_Entity)& theObject )
{
+ //DEBTRACE("HYDROData_Zone::SetMergeObject");
SetReferenceObject( theObject, DataTag_MergeObject );
}
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 ) )