#include "HYDROData_Iterator.h"
#include "HYDROData_Polyline.h"
#include "HYDROData_Zone.h"
+#include "HYDROData_Region.h"
#include <TDataStd_ReferenceList.hxx>
#include <QStringList>
-#define PYTHON_BATHYMETRY_ID "KIND_CALCULATION"
+#define PYTHON_CALCULATION_ID "KIND_CALCULATION"
IMPLEMENT_STANDARD_HANDLE(HYDROData_Calculation, HYDROData_Object)
IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Calculation, HYDROData_Object)
QString aCalculName = GetName();
aResList << QString( "%1 = %2.CreateObject( %3 );" )
- .arg( aCalculName ).arg( aDocName ).arg( PYTHON_BATHYMETRY_ID );
+ .arg( aCalculName ).arg( aDocName ).arg( PYTHON_CALCULATION_ID );
aResList << QString( "%1.SetName( \"%2\" );" )
.arg( aCalculName ).arg( aCalculName );
-
- // TO_IMPLEMENT
+ aResList << QString( "" );
+
+ Handle(HYDROData_Polyline) aBoundaryPolyline = GetBoundaryPolyline();
+ setPythonReferenceObject( theTreatedObjects, aResList, aBoundaryPolyline, "SetBoundaryPolyline" );
+ aResList << QString( "" );
+
+ HYDROData_SequenceOfObjects aZones = GetZones();
+ HYDROData_SequenceOfObjects::Iterator anIter( aZones );
+ for ( ; anIter.More(); anIter.Next() )
+ {
+ Handle(HYDROData_Zone) aRefZone =
+ Handle(HYDROData_Zone)::DownCast( anIter.Value() );
+ if ( !aRefZone.IsNull() )
+ setPythonReferenceObject( theTreatedObjects, aResList, aRefZone, "AddZone" );
+ }
+ aResList << QString( "" );
+
+ aZones = GetRegions();
+ anIter.Init( aZones );
+ for ( ; anIter.More(); anIter.Next() )
+ {
+ Handle(HYDROData_Region) aRegion =
+ Handle(HYDROData_Region)::DownCast( anIter.Value() );
+ if ( !aRegion.IsNull() )
+ setPythonReferenceObject( theTreatedObjects, aResList, aRegion, "AddRegion" );
+ }
return aResList;
}
ClearReferenceObjects( DataTag_Zone );
}
-int HYDROData_Calculation::NbSplittedZones() const
+int HYDROData_Calculation::NbRegions() const
{
- return NbReferenceObjects( DataTag_SplittedZone );
+ return NbReferenceObjects( DataTag_Region );
}
-void HYDROData_Calculation::AddSplittedZone( const Handle(HYDROData_Zone)& theZone )
+void HYDROData_Calculation::AddRegion( const Handle(HYDROData_Region)& theRegion )
{
- AddReferenceObject( theZone, DataTag_SplittedZone );
+ AddReferenceObject( theRegion, DataTag_Region );
}
-void HYDROData_Calculation::SetSplittedZone( const int theIndex,
- const Handle(HYDROData_Zone)& theZone )
+void HYDROData_Calculation::SetRegion( const int theIndex,
+ const Handle(HYDROData_Region)& theRegion )
{
- SetReferenceObject( theZone, DataTag_SplittedZone, theIndex );
+ SetReferenceObject( theRegion, DataTag_Region, theIndex );
}
-void HYDROData_Calculation::SetSplittedZones( const HYDROData_SequenceOfObjects& theZones )
+void HYDROData_Calculation::SetRegions( const HYDROData_SequenceOfObjects& theRegions )
{
- SetReferenceObjects( theZones, DataTag_SplittedZone );
+ SetReferenceObjects( theRegions, DataTag_Region );
}
-Handle(HYDROData_Zone) HYDROData_Calculation::GetSplittedZone( const int theIndex ) const
+Handle(HYDROData_Region) HYDROData_Calculation::GetRegion( const int theIndex ) const
{
- return Handle(HYDROData_Zone)::DownCast(
- GetReferenceObject( DataTag_SplittedZone, theIndex ) );
+ return Handle(HYDROData_Region)::DownCast(
+ GetReferenceObject( DataTag_Region, theIndex ) );
}
-HYDROData_SequenceOfObjects HYDROData_Calculation::GetSplittedZones() const
+HYDROData_SequenceOfObjects HYDROData_Calculation::GetRegions() const
{
- return GetReferenceObjects( DataTag_SplittedZone );
+ return GetReferenceObjects( DataTag_Region );
}
-void HYDROData_Calculation::RemoveSplittedZones()
+void HYDROData_Calculation::RemoveRegions()
{
- ClearReferenceObjects( DataTag_SplittedZone );
+ ClearReferenceObjects( DataTag_Region );
}