X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Calculation.cxx;h=9514bcbd5945ca2f2df3295d0979e1f327c3b410;hb=f108c7fd8c3b2dbb8c263b14456a31f8dd1d0921;hp=8b9c94d7bd051a384b9fc6244a04367d7e791ff4;hpb=bd1a4992da8d54929ec556df6db4e7e0ebbfbbd7;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Calculation.cxx b/src/HYDROData/HYDROData_Calculation.cxx index 8b9c94d7..9514bcbd 100644 --- a/src/HYDROData/HYDROData_Calculation.cxx +++ b/src/HYDROData/HYDROData_Calculation.cxx @@ -5,12 +5,13 @@ #include "HYDROData_Iterator.h" #include "HYDROData_Polyline.h" #include "HYDROData_Zone.h" +#include "HYDROData_Region.h" #include #include -#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) @@ -35,11 +36,35 @@ QStringList HYDROData_Calculation::DumpToPython( MapOfTreatedObjects& theTreated 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; } @@ -97,40 +122,40 @@ void HYDROData_Calculation::RemoveZones() 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 ); }