X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Region.cxx;h=60210bbc30e700e689d31d8d9f0f40faac5b8262;hb=cde2ec476486fcd7c9b7b38ce814c648d73e7fd3;hp=0cbb266d27f1f5388730078fb6768ac00ee58b67;hpb=f0688b4c39fcc3e49c2b58a90724b9c1c84f1337;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Region.cxx b/src/HYDROData/HYDROData_Region.cxx index 0cbb266d..60210bbc 100644 --- a/src/HYDROData/HYDROData_Region.cxx +++ b/src/HYDROData/HYDROData_Region.cxx @@ -52,7 +52,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Region, HYDROData_Entity) HYDROData_Region::HYDROData_Region() - : HYDROData_Entity() + : HYDROData_Entity( Geom_2d ) { } @@ -107,7 +107,7 @@ bool HYDROData_Region::AddZone( const Handle(HYDROData_Zone)& theZone ) if ( !aFatherRegion.IsNull() && aFatherRegion->Label() != myLab ) { Handle(HYDROData_Zone) aNewZone = addNewZone( aDocument, "", TopoDS_Face(), QStringList() ); - theZone->CopyTo( aNewZone ); + theZone->CopyTo( aNewZone, false ); // To prevent changing of stored shape aNewZone->SetShape( theZone->GetShape() ); @@ -174,12 +174,11 @@ Handle(HYDROData_Zone) HYDROData_Region::addNewZone( const Handle(HYDROData_Docu for ( int i = 0, n = theRefObjects.length(); i < n; ++i ) { const QString& anObjName = theRefObjects.at( i ); - Handle(HYDROData_Object) aRefObject = - Handle(HYDROData_Object)::DownCast( theDoc->FindObjectByName( anObjName ) ); + Handle(HYDROData_Entity) aRefObject = theDoc->FindObjectByName( anObjName ); if ( aRefObject.IsNull() ) continue; - aNewZone->AddGeometryObject( aRefObject ); + aNewZone->AddObject( aRefObject ); } return aNewZone; @@ -389,7 +388,8 @@ TopoDS_Shape HYDROData_Region::GetShape( HYDROData_ShapesGroup::SeqOfGroupsDefs* return aResShape; } -QStringList HYDROData_Region::DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const +QStringList HYDROData_Region::DumpToPython( const QString& thePyScriptPath, + MapOfTreatedObjects& theTreatedObjects ) const { QStringList aResList; @@ -412,7 +412,7 @@ QStringList HYDROData_Region::DumpToPython( MapOfTreatedObjects& theTreatedObjec // set zone merge type QString aMergeTypeStr; - HYDROData_Zone::MergeAltitudesType aMergeType = aZone->GetMergeType(); + HYDROData_Zone::MergeType aMergeType = aZone->GetMergeType(); if ( aMergeType == HYDROData_Zone::Merge_ZMIN ) { aMergeTypeStr = "HYDROData_Zone.Merge_ZMIN"; } else if ( aMergeType == HYDROData_Zone::Merge_ZMAX ) { @@ -425,16 +425,16 @@ QStringList HYDROData_Region::DumpToPython( MapOfTreatedObjects& theTreatedObjec aResList << QString( "%1.SetMergeType( %2 )" ).arg( aZone->GetObjPyName() ).arg( aMergeTypeStr ); } if ( aMergeType == HYDROData_Zone::Merge_Object ) { - Handle(HYDROData_IAltitudeObject) aMergeAltitude = aZone->GetMergeAltitude(); - if ( !aMergeAltitude.IsNull() ) { - aMergeAltitude->findPythonReferenceObject( theTreatedObjects, aResList ); - aResList << QString( "%1.SetMergeAltitude( %2 )" ).arg( aZone->GetObjPyName() ) - .arg( aMergeAltitude->GetObjPyName() ); + Handle(HYDROData_Entity) aMergeObject = aZone->GetMergeObject(); + if ( !aMergeObject.IsNull() ) { + aMergeObject->findPythonReferenceObject( theTreatedObjects, aResList ); + aResList << QString( "%1.SetMergeObject( %2 )" ).arg( aZone->GetObjPyName() ) + .arg( aMergeObject->GetObjPyName() ); } } // add zone - setPythonReferenceObject( theTreatedObjects, aResList, aZone, "AddZone" ); + setPythonReferenceObject( thePyScriptPath, theTreatedObjects, aResList, aZone, "AddZone" ); } return aResList;