X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Fh009_normalCaseManual.py;h=7a2ef88c5e53e0cbc43bb07aa1602cf7afb67ac7;hb=d7abcc094576f2a893056acfcd7fe13cb421f8bb;hp=b1d8dfa160d7f6cf17fcc106ccd93b49cd853c9c;hpb=71ba58001e1084f0995fff43bf5e4643b153e5e0;p=modules%2Fhydro.git diff --git a/doc/salome/examples/h009_normalCaseManual.py b/doc/salome/examples/h009_normalCaseManual.py index b1d8dfa1..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() ) @@ -27,7 +27,8 @@ garonne_ign_01.SetName( "garonne_ign_01" ) garonne_ign_01.SetZLevel( 0 ) -garonne_ign_01.LoadImage(os.path.join(HYDRO_SAMPLES, "garonne_ign_01.png" )) +if not(garonne_ign_01.LoadImage(os.path.join(HYDRO_SAMPLES, "garonne_ign_01.png" ))): + raise ValueError('problem while loading image') garonne_ign_01.SetLocalPoints( QPoint( 40, 817 ), QPoint( 1325, 85 ) ) @@ -44,7 +45,8 @@ garonne_ign_02.SetName( "garonne_ign_02" ) garonne_ign_02.SetZLevel( 1 ) -garonne_ign_02.LoadImage( os.path.join(HYDRO_SAMPLES, "garonne_ign_02.png" )) +if not(garonne_ign_02.LoadImage( os.path.join(HYDRO_SAMPLES, "garonne_ign_02.png" ))): + raise ValueError('problem while loading image') garonne_ign_02.SetLocalPoints( QPoint( 1389, 447 ), QPoint( 784, 481 ) ) @@ -197,7 +199,8 @@ Cloud_02 = hydro_doc.CreateObject( KIND_BATHYMETRY ) Cloud_02.SetName( "Cloud_02" ) Cloud_02.SetAltitudesInverted( 0 ) -Cloud_02.ImportFromFile( os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz" )) +if not(Cloud_02.ImportFromFile( os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz" ))): + raise ValueError('problem while loading bathymetry') Cloud_02.Update() @@ -206,7 +209,8 @@ garonne_point_L93 = hydro_doc.CreateObject( KIND_BATHYMETRY ) garonne_point_L93.SetName( "garonne_point_L93" ) garonne_point_L93.SetAltitudesInverted( 0 ) -garonne_point_L93.ImportFromFile( os.path.join(HYDRO_SAMPLES, "garonne_point_L93.xyz" )) +if not(garonne_point_L93.ImportFromFile( os.path.join(HYDRO_SAMPLES, "garonne_point_L93.xyz" ))): + raise ValueError('problem while loading bathymetry') garonne_point_L93.Update() @@ -264,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 @@ -307,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, 35992556.454929) -controlGeomProps(geompy, litMineur, 30337.548492, 3646827.749809) -controlGeomProps(geompy, riveDroite, 32012.343241, 26177085.460092) +[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)