当前位置: 首页>>代码示例>>Python>>正文


Python uictrl.element函数代码示例

本文整理汇总了Python中uictrl.element函数的典型用法代码示例。如果您正苦于以下问题:Python element函数的具体用法?Python element怎么用?Python element使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了element函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: rotate

    def rotate(self,idgrp):
        lbl_vec=_(u"Vector of rotation (m)")
        lbl_angle=_(u"Angle of rotation (degrees)")
        lbl_rotation_pos=_(u"Rotation center (m)")

        #on recupere le groupe des rp
        rpgroup=ui.element(idgrp)
        #on recupere tout les indices des rp déjà existante
        rplst=rpgroup.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_RECEPTEURSP_RECEPTEUR)
        centregroup=vec3()
        for rp in rplst:
            rpEl=ui.element(rp)
            #On recupere la position du récepteur ponctuel
            centregroup+=vec3(rpEl.getpositionconfig("pos_recepteur"))
        centregroup/=len(rplst)
        res=ui.application.getuserinput(_(u"Rotation of a group of receivers"),
                                    "",
                                    { lbl_vec : "[0.,0.,1.]",
                                      lbl_angle : "90",
                                      lbl_rotation_pos : str(centregroup)
                                        })
        if res[0]:
            try:
                vecrotation=vec3(eval(res[1][lbl_vec]))
                anglerotation=float(res[1][lbl_angle])
                centregroup=vec3(eval(res[1][lbl_rotation_pos]))
            except:
                print(_(u"Wrong parameters"),file=sys.stderr)
                return
            for rp in rplst:
                rpEl=ui.element(rp)
                rotatedpos=vec3(rpEl.getpositionconfig("pos_recepteur"))-centregroup
                rotatedpos=rotatedpos.rotate(vecrotation,math.radians(anglerotation))+centregroup
                rpEl.updatepositionconfig("pos_recepteur",[rotatedpos.x,rotatedpos.y,rotatedpos.z])
开发者ID:Ezio47,项目名称:I-Simpa,代码行数:34,代码来源:__init__.py

示例2: translate

 def translate(self,idgrp):
     lbl_vecx=_(u"Direction x (m)")
     lbl_vecy=_(u"Direction y (m)")
     lbl_vecz=_(u"Direction z (m)")
     res=ui.application.getuserinput(_(u"Translation of a group of receivers"),
                                     _(u"Please enter the coordinates of the translation vector"),
                                 { lbl_vecx : "1.",
                                   lbl_vecy : "0.",
                                   lbl_vecz : "0.",
                                     })
     if res[0]:
         try:
             vectranslation=vec3(float(res[1][lbl_vecx]),float(res[1][lbl_vecy]),float(res[1][lbl_vecz]))
         except:
             print(_(u"Wrong parameters"),file=sys.stderr)
             return
         #on recupere le groupe des rp
         rpgroup=ui.element(idgrp)
         #on recupere tout les indices des rp déjà existante
         rplst=rpgroup.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_RECEPTEURSP_RECEPTEUR)
         for rp in rplst:
             rpEl=ui.element(rp)
             #On recupere la position du rp
             posrecp = rpEl.getpositionconfig("pos_recepteur")
             newpos=vec3(posrecp[0], posrecp[1], posrecp[2])+vectranslation
             rpEl.updatepositionconfig("pos_recepteur",[newpos[0],newpos[1],newpos[2]])
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:26,代码来源:__init__.py

示例3: translate_src

 def translate_src(self,idgrp):
     lbl_vecx=_(u"Direction x (m)")
     lbl_vecy=_(u"Direction y (m)")
     lbl_vecz=_(u"Direction z (m)")
     res=ui.application.getuserinput(_(u"Translation of a group of sound sources"),
                                 "",
                                 { lbl_vecx : "1",
                                 lbl_vecy : "0",
                                 lbl_vecz : "0"
                                     })
     if res[0]:
         try:
             vectranslation=vec3(float(res[1][lbl_vecx]), float(res[1][lbl_vecy]), float(res[1][lbl_vecz]))
         except ValueError:
             print(_(u"Wrong parameters"),file=sys.stderr)
             return
         #on recupere le groupe des sources
         srcgroup=ui.element(idgrp)
         #on recupere tout les indices des sources déjà existante
         srclst=srcgroup.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_SOURCES_SOURCE)
         for src in srclst:
             sourceEl=ui.element(src)
             #On recupere la position de la source
             pos_source = sourceEl.getpositionconfig("pos_source")
             newpos=vec3(pos_source[0], pos_source[1], pos_source[2])+vectranslation
             sourceEl.updatepositionconfig("pos_source",[newpos[0],newpos[1],newpos[2]])
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:26,代码来源:__init__.py

示例4: GetMixedLevel

def GetMixedLevel(folderwxid):
    """
     Retourne un tableau contenant le niveau sonore global et toute bande des récepteurs ponctuels d'un dossier
     folderwxid identifiant wxid de l'élément dossier contenant les récepteurs ponctuels.
    """
    cols = []
    # folder devient l'objet dossier
    folder = ui.element(folderwxid)
    # dans un tableau on place les indices des fichiers de données des récepteurs ponctuels
    recplist = folder.getallelementbytype(ui.element_type.ELEMENT_TYPE_REPORT_GABE_RECP)
    # Pour chaque récepteur on demande à l'application les données traitées du fichier (niveau sonore et cumuls)
    for idrecp in recplist:
        # recp devient l'objet ayant comme indice idrecp (entier)
        recp = ui.element(idrecp)
        if recp.getinfos()["name"] == "soundpressure":
            # on demande le calcul des paramètres sonores
            ui.application.sendevent(
                recp, ui.idevent.IDEVENT_RECP_COMPUTE_ACOUSTIC_PARAMETERS, {"TR": "15;30", "EDT": "", "D": ""}
            )
            # on recupere l'element parent (le dossier de récepteur ponctuel)
            pere = ui.element(recp.getinfos()["parentid"])
            # application.sendevent(pere,idevent.IDEVENT_RELOAD_FOLDER)
            nomrecp = pere.getinfos()["label"]
            # on recupere les données calculées
            params = ui.element(pere.getelementbylibelle("acoustic_param"))
            # on stocke dans gridspl le tableau des niveaux de pression
            gridparam = ui.application.getdataarray(params)
            # on ajoute la colonne
            if len(cols) == 0:  # si le tableau de sortie est vide alors on ajoute les libellés des lignes
                cols.append(list(zip(*gridparam)[0]))  # libellé Freq et Global
            idcol = gridparam[0].index("EDT (s)")  # Changer le paramètre par celui pour lequel on veut la fusion
            cols.append(
                [nomrecp] + list(zip(*gridparam)[idcol][1:])
            )  # 1ere colonne, (0 etant le libellé des lignes) et [1:] pour sauter la premiere ligne
    return cols
开发者ID:JulianYu123456,项目名称:I-Simpa,代码行数:35,代码来源:__init__.py

示例5: dofusion

def dofusion(folderwxid, path):
    arraydata = GetMixedLevel(folderwxid)
    SaveLevel(zip(*arraydata), path)
    # raffraichie l'arbre complet
    ui.application.sendevent(
        ui.element(ui.element(ui.application.getrootreport()).childs()[0][0]), ui.idevent.IDEVENT_RELOAD_FOLDER
    )
开发者ID:JulianYu123456,项目名称:I-Simpa,代码行数:7,代码来源:__init__.py

示例6: GetCurrentProjectPath

def GetCurrentProjectPath():
    projconfel = ui.element(
        ui.element(ui.application.getrootscene()).getelementbytype(
            ui.element_type.ELEMENT_TYPE_SCENE_PROJET_CONFIGURATION
        )
    )
    return projconfel.getstringconfig("urlsave")
开发者ID:JulianYu123456,项目名称:I-Simpa,代码行数:7,代码来源:__init__.py

示例7: modified

 def modified(self,idelmodified):
     #Le mode de calcul stationnaire n'a pas besoin des paramètres de pas de temps ni de durée
     if ui.element(idelmodified).getinfos()["name"]=="solver_mode":
         #le mode de calcul a été modifié par l'utilisateur
         elconf=ui.element(self.getelementbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_CONFIG))
         is_temporel=(elconf.getlistconfig("solver_mode")==0)
         elconf.setreadonlyconfig("duree_simulation",not is_temporel)
         elconf.setreadonlyconfig("pasdetemps",not is_temporel)
     ui.element.modified(self,idelmodified)
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:9,代码来源:__init_.py

示例8: __init__

    def __init__(self,idel):
		#Initialisation de l'élément
        ui.element.__init__(self,idel)
        
        if not self.hasproperty("exeName"): #La propriété n'existe pas s'il s'agit d'un nouveau projet, elle existe si le projet est chargé
            #Création des paramètres du maillage tetgen, ne pas le faire si le calcul n'a pas besoin de maillage tétraèdrique
            self.appendfilsbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_CONFMAILLAGE)
			#Ajout de la sélection des bandes de fréquences, ne pas le faire si c'est inutile
            self.appendfilsbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_BFREQSELECTION)
			#Ajout du noeud de configuration, qui contient par défaut les propriétés de pas de temps et de durée de simulation
            coreconf=ui.element(self.appendfilsbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_CONFIG))
			####
			#Ces propriétés sont nécessaire pour que I-SIMPA connaisse les fichiers relatifs au code de calcul
			#Nom et format du modèle 3D
            ui.element(self.appendpropertytext("modelName","","mesh.cbin",True,True)).hide()
			#Nom du maillage tétraèdrique
            ui.element(self.appendpropertytext("tetrameshFileName","","tetramesh.mbin",True,True)).hide()
			#Nom et type (exe,py ou pyc) du fichier executable
            ui.element(self.appendpropertytext("exeName","","user_core")).hide()
            ui.element(self.appendpropertytext("corePath","","usercore\\")).hide()
            
            #Création des paramètres de calculs
            coreconf.appendpropertylist("solver_mode",_("Mode de calcul"),[[_("Temporel"),_("Stationnaire")],[0,1]],0,False,1,True)
        else:
            #Chargement d'un projet existant
            pass
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:26,代码来源:__init_.py

示例9: __init__

 def __init__(self,idel):
     ui.element.__init__(self,idel)
     #Ce code de calcul a surement des propriétés
     #Il faut les créer(nouveau projet) ou les mettre à jour (chargement) ici
     
     if not self.hasproperty("exeName"): #Nouveau projet
         #Création des paramètre du maillage tetgen
         self.appendfilsbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_CONFMAILLAGE)
         self.appendfilsbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_BFREQSELECTION)
         coreconf=ui.element(self.appendfilsbytype(ui.element_type.ELEMENT_TYPE_CORE_CORE_CONFIG))
         ui.element(self.appendpropertytext("modelName","","mesh.cbin",True,True)).hide()
         ui.element(self.appendpropertytext("tetrameshFileName","","tetramesh.mbin",True,True)).hide()
         ui.element(self.appendpropertytext("exeName","","md.py")).hide()
         ui.element(self.appendpropertytext("corePath","","md\\")).hide()
         
         #Création des paramètres de calculs
         coreconf.appendpropertylist("solver_mode","Mode de calcul",[["Temporel","Stationnaire"],[0,1]],0,False,1,True)
         coreconf.appendpropertybool("with_direct_sound","Fusion avec le champ direct",True,True)
         _("Fusion avec le champ direct")
         _("Mode de calcul")
         _("Temporel")
         _("Stationnaire")
         
         
     else:
         #Chargement d'un projet existant
         if self.getstringconfig("corePath")=="md_trans\\":
             self.updatestringconfig("corePath","md\\")
开发者ID:JimmyFarcy,项目名称:I-Simpa,代码行数:28,代码来源:__init__.py

示例10: getmenu

 def getmenu(self,typeel,idel,menu):
     #Si le pere de l'element se nomme SPPS
     el=ui.element(idel)
     infos=el.getinfos()
     if infos["parentid"]>0:
         parent=ui.element(infos["parentid"])
         if parent.getinfos()["label"]=="SPPS" or parent.getinfos()["label"]==u"Diffusion model":
             menu.insert(0,(_("Make report"),self.MakeReportEventId))
             return True
         else:
             return False
     return False
开发者ID:Ezio47,项目名称:I-Simpa,代码行数:12,代码来源:__init__.py

示例11: onmovetoothergroup

 def onmovetoothergroup(self,elid):
     #On stocke les groupes de surfaces du projet
     rootscene=ui.element(ui.application.getrootscene())
     rootgroups=ui.element(rootscene.getelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_GROUPESURFACES))
     maingroupchildlist=rootgroups.childs()
     listgroups=[(elname,idelement) for idelement,eltype,elname in maingroupchildlist]
     input_lbl=_(u"Label")
     input_values=[ elname for elname,idelement in listgroups]
     dialog_res=ui.application.getuserinput(_(u"Move faces"),_(u"(Please select the group of destination:"),{ input_lbl : input_values})
     if dialog_res[0]==True:
         ideldest=listgroups[input_values.index(dialog_res[1][input_lbl])][1]
         ui.application.dropselectionto(ui.element(ideldest))
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:12,代码来源:__init__.py

示例12: GetMixedLevel

def GetMixedLevel(folderwxid):
    """
     Retourne un tableau contenant le niveau sonore global et toute bande des récepteurs ponctuels d'un dossier
     folderwxid identifiant wxid de l'élément dossier contenant les récepteurs ponctuels.
    """
    i_cols=[]
    myfrequency_labels=[]
    #folder devient l'objet dossier
    recplist=[]
    folder=ui.element(folderwxid)
    # retrieve computation result main folder location
    folderpath = ui.e_file(folder.getinfos()["parentid"]).buildfullpath()
    recpPosition = extractReceiverPositionFromXml(os.path.join(folderpath, 'config.xml'))
    
    for child in folder.childs():
        if child[1]==ui.element_type.ELEMENT_TYPE_REPORT_FOLDER:
            recplist.append(child[0])
    #Pour chaque récepteur on demande a l'application les données traitées du fichier ( niveau sonore et cumuls )
    intensityElements = {}
    for idrecp in recplist:
        #recp devient l'objet ayant comme indice idrecp (entier)
        parent=ui.element(idrecp)
        #application.sendevent(pere,idevent.IDEVENT_RELOAD_FOLDER)
        receiverName=parent.getinfos()["label"]
        #on recupere les données calculées
        elid = parent.getelementbylibelle('Punctual receiver intensity')
        if elid != -1:
            intensity=ui.element(elid)
            intensityElements[receiverName] = intensity
            
            
    for receiverInfo in recpPosition:
        receiverName, rx, ry, rz = receiverInfo
        if receiverName in intensityElements:
            intensity = intensityElements[receiverName]
            #on stocke dans gridspl le tableau des niveaux de pression
            gridparam=ui.application.getdataarray(intensity)
            values=gridparam[-1][1:]
            #retrieve the last row
            if len(myfrequency_labels)==0:
                myfrequency_labels=list(gridparam[0][1:])
                myfrequency_labels.insert(0, "z")
                myfrequency_labels.insert(0, "y")
                myfrequency_labels.insert(0, "x")
                myfrequency_labels.insert(0, "")
            myReceiverRow = [receiverName,rx,ry,rz]
            for idxyz in range(len(values)):
                I=values[idxyz]*1
                myReceiverRow.append(I)
            i_cols.append(myReceiverRow)
    i_cols.insert(0,myfrequency_labels)
    return i_cols
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:52,代码来源:__init__.py

示例13: rotate_src

 def rotate_src(self,idgrp):
     lbl_vecx=_(u"Vector of rotation x (m)")
     lbl_vecy=_(u"Vector of rotation y (m)")
     lbl_vecz=_(u"Vector of rotation z (m)")
     lbl_angle=_(u"Angle (degrees)")
     lbl_rotation_posx=_(u"Rotation center x (m)")
     lbl_rotation_posy=_(u"Rotation center y (m)")
     lbl_rotation_posz=_(u"Rotation center z (m)")
     ##Evaluation du centre de rotation
     #on recupere le groupe des sources
     srcgroup=ui.element(idgrp)
     #on recupere tout les indices des sources déjà existante
     srclst=srcgroup.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_SOURCES_SOURCE)
     centregroup=vec3()
     for src in srclst:
         sourceEl=ui.element(src)
         #On recupere la position de la source
         pos = sourceEl.getpositionconfig("pos_source")
         centregroup+=vec3(pos[0], pos[1], pos[2])
     centregroup/=len(srclst)
     
     res=ui.application.getuserinput(_(u"Rotation of a group of sound sources"),
                                 "",
                                 { lbl_vecx : "0",
                                 lbl_vecy : "0",
                                 lbl_vecz : "1",
                                   lbl_angle : "90",
                                   lbl_rotation_posx : str(centregroup[0]),
                                   lbl_rotation_posy : str(centregroup[1]),
                                   lbl_rotation_posz : str(centregroup[2])
                                     })
     if res[0]:
         vecrotation = vec3()
         try:
             vecrotation=vec3(float(res[1][lbl_vecx]), float(res[1][lbl_vecy]), float(res[1][lbl_vecz]))
             anglerotation=float(res[1][lbl_angle])
             centregroup=vec3(float(res[1][lbl_rotation_posx]), float(res[1][lbl_rotation_posy]), float(res[1][lbl_rotation_posz]))
         except:
             print(_(u"Wrong parameters"),file=sys.stderr)
             return
         #on recupere le groupe des sources
         srcgroup=ui.element(idgrp)
         #on recupere tout les indices des sources déjà existante
         srclst=srcgroup.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_SOURCES_SOURCE)
         for src in srclst:
             sourceEl=ui.element(src)
             pos_source = sourceEl.getpositionconfig("pos_source")
             rotatedpos=vec3(pos_source[0], pos_source[1], pos_source[2])-centregroup
             rotatedpos=rotatedpos.Rotation(vecrotation,math.radians(anglerotation))+centregroup
             sourceEl.updatepositionconfig("pos_source",[rotatedpos[0],rotatedpos[1], rotatedpos[2]])
开发者ID:Ifsttar,项目名称:I-Simpa,代码行数:50,代码来源:__init__.py

示例14: align_on_same_point

 def align_on_same_point(self,idel):
     
     lbl_topt=_(u"Orienter vers [x,y,z]")
     res=ui.application.getuserinput(_(u"Orienter un groupe de récepteur vers un point dans l'espace."),
                                 _(u"Veuillez saisir les coordonnées du point d'orientation."),
                                 { lbl_topt : "[0.,0.,0.]"
                                     })
     if res[0]:
         grprecp=ui.element(idel)
         recplst=grprecp.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_RECEPTEURSP_RECEPTEUR)
         topt=eval(res[1][lbl_topt])
         for recpid in recplst:
             recp=ui.element(recpid)
             recp.updatepositionconfig("direction_dot",topt)
开发者ID:JimmyFarcy,项目名称:I-Simpa,代码行数:14,代码来源:__init__.py

示例15: align_on_same_point

 def align_on_same_point(self,idel):
     
     lbl_topt=_(u"Orient to position [x,y,z]")
     res=ui.application.getuserinput(_(u"Orient a group of receivers to a point"),
                                 _(u"Please enter the coordinates of the orientation point"),
                                 { lbl_topt : "[0.,0.,0.]"
                                     })
     if res[0]:
         grprecp=ui.element(idel)
         recplst=grprecp.getallelementbytype(ui.element_type.ELEMENT_TYPE_SCENE_RECEPTEURSP_RECEPTEUR)
         topt=eval(res[1][lbl_topt])
         for recpid in recplst:
             recp=ui.element(recpid)
             recp.updatepositionconfig("direction_dot",topt)
开发者ID:Ezio47,项目名称:I-Simpa,代码行数:14,代码来源:__init__.py


注:本文中的uictrl.element函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。