def onObservation(self): group=self.visu.curGroupe if group not in ['Ecoulement','Transport','PHT3D']: return typ=self.curTypO[0] # B or P t=self.curItemps; if group=='PHT3D': lesp=self.getNames('PHT3D_Especes_L'); elif group=='Ecoulement': lesp=['Charge','Flux'] else : lesp=['Transport'] lst0=zip(lesp,[False]*len(lesp)) #dialog to choose species to graph if len(lesp)>1: dlg = MyDialogs.MyGenericCtrl(self,'species',lst0) if dlg.ShowModal() == wx.ID_OK: lst1=dlg.GetValues();lesp=[] for i in range(len(lst1)): if lst1[i][1]:lesp.append(lst1[i][0]) else :return # dialog for type of graph, for flow tis dialog is useless lst0=['Valeur','Valeur ponderee','Flux']; if group!='Ecoulement': dlg = MyDialogs.MyGenericCtrl(self,'type',[('Choisir :',['Valeur',lst0])]) if dlg.ShowModal() == wx.ID_OK: #dialog to choose type of graph val=dlg.GetValues()[0][1][0]; typ+=str(lst0.index(val)); else :return dist,val,lab=self.model.onPtObs(typ,t,group,self.curZoneO,lesp) plt = MyDialogs.plotxy(self.gui,-1);plt.Show(True) znam=self.curZoneO if typ[0]=='X': plt.draw(dist,val,lab[1:],znam,lab[0],"val",typ='+'); else : plt.draw(dist,val,lab[1:],znam,lab[0],"val"); plt.Raise()
def OnGrapheXY(self,evt): """permet de fair eune graphe xy de la vairable representee et des donnees""" dicData=self.model.getBase('Data'); groupe, nom, obj = self.visu.getCurrentVisu();#print groupe,nom nom = nom.split('_')[-1] # recupere les coords des forages et data mesures lZone=self.model.Aquifere.getZoneList('Forages') nF = len(lZone);mesu=[];lxy=[] # nb forages dans interface if (len(dicData['cols'])!=0)and(nom in dicData['cols']): iC=dicData['cols'].index(nom);n=0 for z in lZone: nomF=z.getNom() if nomF in dicData['lignes']: n += 1;iR = dicData['lignes'].index(nomF) mesu.append(dicData['data'][iR,iC]) lxy.append(z.getXy()[0]); else : self.OnMessage("pas de donnees");return # recupere les donnees simulees (vue actuelle) calc = []; if len(obj)>=2: # objet de type contour for xy in lxy: i,j=self.getIndexPt(xy,obj) # coord du forage ds grille calc.append(obj[2][i,j]) # obj contient x,y,z self.plt=MyDialogs.plotxy(self.model.gui,-1);self.plt.Show(True) self.plt.draw(mesu,calc,nom,"Comparaison", "mesure", "calcul",'+')
def onObservation(self): group = self.visu.curGroupe if group not in ['Ecoulement', 'Transport', 'PHT3D']: return typ = self.curTypO[0] # B or P t = self.curItemps if group == 'PHT3D': lesp = self.getNames('PHT3D_Especes_L') elif group == 'Ecoulement': lesp = ['Charge', 'Flux'] else: lesp = ['Transport'] lst0 = zip(lesp, [False] * len(lesp)) #dialog to choose species to graph if len(lesp) > 1: dlg = MyDialogs.MyGenericCtrl(self, 'species', lst0) if dlg.ShowModal() == wx.ID_OK: lst1 = dlg.GetValues() lesp = [] for i in range(len(lst1)): if lst1[i][1]: lesp.append(lst1[i][0]) else: return # dialog for type of graph, for flow tis dialog is useless lst0 = ['Valeur', 'Valeur ponderee', 'Flux'] if group != 'Ecoulement': dlg = MyDialogs.MyGenericCtrl(self, 'type', [('Choisir :', ['Valeur', lst0])]) if dlg.ShowModal() == wx.ID_OK: #dialog to choose type of graph val = dlg.GetValues()[0][1][0] typ += str(lst0.index(val)) else: return dist, val, lab = self.model.onPtObs(typ, t, group, self.curZoneO, lesp) plt = MyDialogs.plotxy(self.gui, -1) plt.Show(True) znam = self.curZoneO if typ[0] == 'X': plt.draw(dist, val, lab[1:], znam, lab[0], "val", typ='+') else: plt.draw(dist, val, lab[1:], znam, lab[0], "val") plt.Raise()