X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Fh009_normalCaseManual.py;h=7a2ef88c5e53e0cbc43bb07aa1602cf7afb67ac7;hb=d7abcc094576f2a893056acfcd7fe13cb421f8bb;hp=f44f63b25d364511e96bad0fa8e6ab135c2536b4;hpb=0116e85afe539dd12b234175999a6e689f5e9650;p=modules%2Fhydro.git diff --git a/doc/salome/examples/h009_normalCaseManual.py b/doc/salome/examples/h009_normalCaseManual.py index f44f63b2..7a2ef88c 100644 --- a/doc/salome/examples/h009_normalCaseManual.py +++ b/doc/salome/examples/h009_normalCaseManual.py @@ -8,14 +8,14 @@ import salome salome.salome_init() theStudy = salome.myStudy - + #---------------------- -# --- HYDRO +# --- HYDRO #---------------------- from HYDROPy import * -from PyQt4.QtCore import * -from PyQt4.QtGui import * +from PyQt5.QtCore import * +from PyQt5.QtGui import * hydro_doc = HYDROData_Document.Document( theStudy._get_StudyId() ) @@ -268,33 +268,49 @@ garonne_1.AddGeometryGroup( case_geom_group ) case_geom_group = litMajeur.GetGroup( 0 ) garonne_1.AddGeometryGroup( case_geom_group ) garonne_1.SetBoundaryPolyline( domaine ) +#garonne_1.SetStricklerTable( Strickler_table_1 ) # Start the algorithm of the partition and assignment garonne_1.Update() garonne_1_litMineur = hydro_doc.FindObjectByName( "garonne_1_Reg_1" ) garonne_1_Zone_1 = hydro_doc.FindObjectByName( "garonne_1_Zone_1" ) garonne_1_Zone_1.SetMergeType( HYDROData_Zone.Merge_ZMIN ) +garonne_1_Zone_1.SetColor( QColor( 192, 113, 64 )) garonne_1_litMineur.AddZone( garonne_1_Zone_1 ) + garonne_1_riveDroite = hydro_doc.FindObjectByName( "garonne_1_Reg_2" ) garonne_1_Zone_2 = hydro_doc.FindObjectByName( "garonne_1_Zone_2" ) +garonne_1_Zone_2.SetColor( QColor( 141, 192, 64 )) garonne_1_riveDroite.AddZone( garonne_1_Zone_2 ) + garonne_1_Zone_3 = hydro_doc.FindObjectByName( "garonne_1_Zone_3" ) +garonne_1_Zone_3.SetMergeType( HYDROData_Zone.Merge_Object ) +Cloud_02 = hydro_doc.FindObjectByName( "Cloud_02" ) +garonne_1_Zone_3.SetMergeObject( Cloud_02 ) +garonne_1_Zone_3.SetColor( QColor( 64, 192, 77 )) garonne_1_riveDroite.AddZone( garonne_1_Zone_3 ) + garonne_1_riveGauche = hydro_doc.FindObjectByName( "garonne_1_Reg_3" ) garonne_1_Zone_4 = hydro_doc.FindObjectByName( "garonne_1_Zone_4" ) +garonne_1_Zone_4.SetMergeType( HYDROData_Zone.Merge_Object ) +Cloud_02 = hydro_doc.FindObjectByName( "Cloud_02" ) +garonne_1_Zone_4.SetMergeObject( Cloud_02 ) +garonne_1_Zone_4.SetColor( QColor( 64, 75, 192 )) garonne_1_riveGauche.AddZone( garonne_1_Zone_4 ) + garonne_1_Zone_5 = hydro_doc.FindObjectByName( "garonne_1_Zone_5" ) +garonne_1_Zone_5.SetColor( QColor( 64, 192, 77 )) garonne_1_riveGauche.AddZone( garonne_1_Zone_5 ) -garonne_1_litMineur.SetName("garonne_1_litMineur") -garonne_1_riveDroite.SetName("garonne_1_riveDroite") -garonne_1_riveGauche.SetName("garonne_1_riveGauche") +garonne_1_litMineur.SetName( "garonne_1_litMineur" ) +garonne_1_riveDroite.SetName( "garonne_1_riveDroite" ) +garonne_1_riveGauche.SetName( "garonne_1_riveGauche" ) # Export of the calculation case garonne_1_entry = garonne_1.Export( theStudy._get_StudyId() ) #---------------------- -# --- Geometry +# --- Geometry #---------------------- # Get geometry shape and print debug information @@ -311,23 +327,64 @@ HYDRO_garonne_1 = salome.IDToObject( str( garonne_1_entry ) ) print "Geom shape:", HYDRO_garonne_1 print "Geom shape name:", HYDRO_garonne_1.GetName() -[riveGauche,litMineur,riveDroite] = geompy.ExtractShapes(HYDRO_garonne_1, geompy.ShapeType["FACE"], True) -# --- groups already created at HYDRO export -#garonne_1_lit_mineur_Outer = geompy.CreateGroup(HYDRO_garonne_1, geompy.ShapeType["EDGE"]) -#geompy.UnionIDs(garonne_1_lit_mineur_Outer, [7, 4, 11]) -#garonne_1_domaineEtendu_Outer = geompy.CreateGroup(HYDRO_garonne_1, geompy.ShapeType["EDGE"]) -#geompy.UnionIDs(garonne_1_domaineEtendu_Outer, [13, 9, 25, 16, 19, 21, 23, 27, 28, 31, 33, 41, 39, 37, 35]) -# --- publication already done at HYDRO export -#geompy.addToStudy( HYDRO_garonne_1, 'HYDRO_garonne_1' ) -#geompy.addToStudyInFather( HYDRO_garonne_1, garonne_1_lit_mineur_Outer, 'garonne_1_lit_mineur_Outer' ) -#geompy.addToStudyInFather( HYDRO_garonne_1, garonne_1_domaineEtendu_Outer, 'garonne_1_domaineEtendu_Outer' ) -geompy.addToStudyInFather( HYDRO_garonne_1, riveGauche, 'riveGauche' ) -geompy.addToStudyInFather( HYDRO_garonne_1, litMineur, 'litMineur' ) -geompy.addToStudyInFather( HYDRO_garonne_1, riveDroite, 'riveDroite' ) - -controlGeomProps(geompy, riveGauche, 29149.36918, 35948828.352061) -controlGeomProps(geompy, litMineur, 30337.548492, 3488480.304388) -controlGeomProps(geompy, riveDroite, 32012.343241, 25998769.23615) +[garonne_litMineur,garonne_riveDroite,garonne_riveGauche] = geompy.SubShapeAll(HYDRO_garonne_1, geompy.ShapeType["FACE"]) + +controlGeomProps(geompy, garonne_riveGauche, 29149.36918, 35948828.352061) +controlGeomProps(geompy, garonne_litMineur, 30337.548492, 3488480.304388) +controlGeomProps(geompy, garonne_riveDroite, 32012.343241, 25998769.23615) + +# --- manual identification of all useful edge groups (boundary conditions) + +allEdgesIds = geompy.SubShapeAllIDs(HYDRO_garonne_1, geompy.ShapeType["EDGE"]) +print "allEdgesIds", allEdgesIds + +(isDone, ClosedFreeBoundary, OpenFreeBoundary) = geompy.GetFreeBoundary(HYDRO_garonne_1) +geompy.addToStudyInFather(HYDRO_garonne_1, ClosedFreeBoundary[0], "ClosedFreeBoundary") + +freeBoundary = geompy.ExtractShapes(ClosedFreeBoundary[0], geompy.ShapeType["EDGE"], True) +freeBoundaryIds = [ geompy.GetSubShapeID(HYDRO_garonne_1, freeBoundary[i]) for i in range(len(freeBoundary)) ] +print "freeBoundaryIds", freeBoundaryIds + +[litMineur_droite] = geompy.GetSharedShapesMulti([garonne_riveDroite, garonne_litMineur], geompy.ShapeType["EDGE"], True) +[litMineur_gauche] = geompy.GetSharedShapesMulti([garonne_riveGauche, garonne_litMineur], geompy.ShapeType["EDGE"], True) +geompy.addToStudyInFather(HYDRO_garonne_1, litMineur_droite, "litMineur_droite") +geompy.addToStudyInFather(HYDRO_garonne_1, litMineur_gauche, "litMineur_gauche") +rives = [litMineur_droite, litMineur_gauche] +rivesIds = [ geompy.GetSubShapeID(HYDRO_garonne_1, rives[i]) for i in range(len(rives)) ] +print "rivesIds", rivesIds + +edges_litMineur = geompy.GetSharedShapesMulti([HYDRO_garonne_1, garonne_litMineur], geompy.ShapeType["EDGE"], True) +edges_riveGauche = geompy.GetSharedShapesMulti([HYDRO_garonne_1, garonne_riveGauche], geompy.ShapeType["EDGE"], True) +edges_riveDroite = geompy.GetSharedShapesMulti([HYDRO_garonne_1, garonne_riveDroite], geompy.ShapeType["EDGE"], True) +edges_litMineurIds = [ geompy.GetSubShapeID(HYDRO_garonne_1, edges_litMineur[i]) for i in range(len(edges_litMineur)) ] +edges_riveGaucheIds = [ geompy.GetSubShapeID(HYDRO_garonne_1, edges_riveGauche[i]) for i in range(len(edges_riveGauche)) ] +edges_riveDroiteIds = [ geompy.GetSubShapeID(HYDRO_garonne_1, edges_riveDroite[i]) for i in range(len(edges_riveDroite)) ] + +print "edges_litMineurIds", edges_litMineurIds +print "edges_riveGaucheIds", edges_riveGaucheIds +print "edges_riveDroiteIds", edges_riveDroiteIds + +sectionsIds = [Id for Id in edges_litMineurIds if Id not in rivesIds] +print "sectionsIds", sectionsIds +SectionsGaronne = geompy.CreateGroup(HYDRO_garonne_1, geompy.ShapeType["EDGE"]) +geompy.UnionIDs(SectionsGaronne, sectionsIds) +geompy.addToStudyInFather(HYDRO_garonne_1, SectionsGaronne, "SectionsGaronne") + +bordGaucheDomaineIds = [Id for Id in freeBoundaryIds if Id in edges_riveGaucheIds] +bordDroiteDomaineIds = [Id for Id in freeBoundaryIds if Id in edges_riveDroiteIds] +print "bordGaucheDomaineIds", bordGaucheDomaineIds +print "bordDroiteDomaineIds", bordDroiteDomaineIds +bordGaucheDomaine = geompy.CreateGroup(HYDRO_garonne_1, geompy.ShapeType["EDGE"]) +geompy.UnionIDs(bordGaucheDomaine, bordGaucheDomaineIds) +geompy.addToStudyInFather(HYDRO_garonne_1, bordGaucheDomaine, "bordGaucheDomaine") +bordDroiteDomaine = geompy.CreateGroup(HYDRO_garonne_1, geompy.ShapeType["EDGE"]) +geompy.UnionIDs(bordDroiteDomaine, bordDroiteDomaineIds) +geompy.addToStudyInFather(HYDRO_garonne_1, bordDroiteDomaine, "bordDroiteDomaine") + +amont = geompy.GetEdgeNearPoint(HYDRO_garonne_1, geompy.MakeVertex(46757.861314, 25833.234752, 0)) +aval = geompy.GetEdgeNearPoint(HYDRO_garonne_1, geompy.MakeVertex(39078.979127, 32588.627279, 0)) +geompy.addToStudyInFather(HYDRO_garonne_1, amont, "amont") +geompy.addToStudyInFather(HYDRO_garonne_1, aval, "aval") if salome.sg.hasDesktop(): salome.sg.updateObjBrowser(1)