#include "HYDROData_Calculation.h"
#include "HYDROData_Document.h"
+#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 );
+ aResList << QString( "" );
+
+ Handle(HYDROData_Polyline) aBoundaryPolyline = GetBoundaryPolyline();
+ setPythonReferenceObject( theTreatedObjects, aResList, aBoundaryPolyline, "SetBoundaryPolyline" );
+ aResList << QString( "" );
- // TO_IMPLEMENT
+ 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;
}
+
+void HYDROData_Calculation::SetBoundaryPolyline( const Handle(HYDROData_Polyline)& thePolyline )
+{
+ SetReferenceObject( thePolyline, DataTag_BoundaryPolyline );
+}
+
+Handle(HYDROData_Polyline) HYDROData_Calculation::GetBoundaryPolyline() const
+{
+ return Handle(HYDROData_Polyline)::DownCast(
+ GetReferenceObject( DataTag_BoundaryPolyline ) );
+}
+
+void HYDROData_Calculation::RemoveBoundaryPolyline()
+{
+ ClearReferenceObjects( DataTag_BoundaryPolyline );
+}
+
+int HYDROData_Calculation::NbZones() const
+{
+ return NbReferenceObjects( DataTag_Zone );
+}
+
+void HYDROData_Calculation::AddZone( const Handle(HYDROData_Zone)& theZone )
+{
+ AddReferenceObject( theZone, DataTag_Zone );
+}
+
+void HYDROData_Calculation::SetZone( const int theIndex,
+ const Handle(HYDROData_Zone)& theZone )
+{
+ SetReferenceObject( theZone, DataTag_Zone, theIndex );
+}
+
+void HYDROData_Calculation::SetZones( const HYDROData_SequenceOfObjects& theZones )
+{
+ SetReferenceObjects( theZones, DataTag_Zone );
+}
+
+Handle(HYDROData_Zone) HYDROData_Calculation::GetZone( const int theIndex ) const
+{
+ return Handle(HYDROData_Zone)::DownCast(
+ GetReferenceObject( DataTag_Zone, theIndex ) );
+}
+
+HYDROData_SequenceOfObjects HYDROData_Calculation::GetZones() const
+{
+ return GetReferenceObjects( DataTag_Zone );
+}
+
+void HYDROData_Calculation::RemoveZones()
+{
+ ClearReferenceObjects( DataTag_Zone );
+}
+
+int HYDROData_Calculation::NbRegions() const
+{
+ return NbReferenceObjects( DataTag_Region );
+}
+
+void HYDROData_Calculation::AddRegion( const Handle(HYDROData_Region)& theRegion )
+{
+ AddReferenceObject( theRegion, DataTag_Region );
+}
+
+void HYDROData_Calculation::SetRegion( const int theIndex,
+ const Handle(HYDROData_Region)& theRegion )
+{
+ SetReferenceObject( theRegion, DataTag_Region, theIndex );
+}
+
+void HYDROData_Calculation::SetRegions( const HYDROData_SequenceOfObjects& theRegions )
+{
+ SetReferenceObjects( theRegions, DataTag_Region );
+}
+
+Handle(HYDROData_Region) HYDROData_Calculation::GetRegion( const int theIndex ) const
+{
+ return Handle(HYDROData_Region)::DownCast(
+ GetReferenceObject( DataTag_Region, theIndex ) );
+}
+
+HYDROData_SequenceOfObjects HYDROData_Calculation::GetRegions() const
+{
+ return GetReferenceObjects( DataTag_Region );
+}
+
+void HYDROData_Calculation::RemoveRegions()
+{
+ ClearReferenceObjects( DataTag_Region );
+}
+