示例#1
0
def createApp(win):
    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkCamera', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Display mesh informations.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=3)
    WIDGETS['frame'] = Frame
    
    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkCamera')
    WIDGETS['frameMenu'] = FrameMenu

    #- VARS -
    # -0- posCam -
    V = TK.StringVar(win); V.set('(0., 0., 0.)'); VARS.append(V)
    # -1- posEye -
    V = TK.StringVar(win); V.set('(0., 0.; 0.)'); VARS.append(V)
    # -2- dirCam -
    V = TK.StringVar(win); V.set('(0., 0., 0.)'); VARS.append(V)
    
    # - posCam -
    B = TTK.Label(Frame, text="posCam: ")
    B.grid(row=0, column=0, columnspan=1, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=15)
    B.grid(row=0, column=1, columnspan=1, sticky=TK.EW)
    B.bind('<Return>', setInfo)
    BB = CTK.infoBulle(parent=B, text='Camera position.')

    # - posEye -
    B = TTK.Label(Frame, text="posEye: ")
    B.grid(row=1, column=0, columnspan=1, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=15)
    B.grid(row=1, column=1, columnspan=1, sticky=TK.EW)
    B.bind('<Return>', setInfo)
    BB = CTK.infoBulle(parent=B, text='Eye position.')

    # - dirCam -
    B = TTK.Label(Frame, text="dirCam: ")
    B.grid(row=2, column=0, columnspan=1, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=15)
    B.grid(row=2, column=1, columnspan=1, sticky=TK.EW)
    B.bind('<Return>', setInfo)
    BB = CTK.infoBulle(parent=B, text='Camera direction.')
    
    # - get -
    B = TTK.Button(Frame, text="Get", command=getInfo)
    B.grid(row=3, column=1, columnspan=1, sticky=TK.EW)
    
    # - set -
    B = TTK.Button(Frame, text="Set", command=setInfo)
    B.grid(row=3, column=0, columnspan=1, sticky=TK.EW)
示例#2
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkStereo',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Set anaglyph mode.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkStereo')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Stero mode -
    V = TK.StringVar(win)
    V.set('None')
    VARS.append(V)
    if 'tkStereoMode' in CTK.PREFS: V.set(CTK.PREFS['tkStereoMode'])
    # -1- Stereo dist info bulle
    V = TK.StringVar(win)
    V.set('Stereo distance.')
    VARS.append(V)

    # - Stereo mode -
    B = TTK.Label(Frame, text="Stereo")
    B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.OptionMenu(Frame,
                       VARS[0],
                       'None',
                       'Anaglyph (b&w)',
                       'Anaglyph (color)',
                       command=setStereo)
    B.grid(row=0, column=1, sticky=TK.EW)

    # - Stereo Dist -
    B = TTK.Scale(Frame,
                  from_=0,
                  to=100,
                  orient=TK.HORIZONTAL,
                  showvalue=0,
                  borderwidth=1,
                  command=setDist,
                  value=50)
    WIDGETS['dist'] = B
    B.grid(row=1, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, textVariable=VARS[1])
示例#3
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkBoolean',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Boolean operations\on surfaces.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=2)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkBoolean')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- tolerance -
    V = TK.StringVar(win)
    V.set('0.')
    VARS.append(V)

    # - Tolerance -
    B = TTK.Label(Frame, text='Tolerance')
    B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=5)
    B.grid(row=0, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(
        parent=B,
        text=
        'Tolerance used in boolean operations.\n0. means automatic setting.')

    # - Union -
    B = TTK.Button(Frame, text="Union", command=union)
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Union of two surfaces.')

    # - Difference -
    B = TTK.Button(Frame, text="Difference", command=difference)
    B.grid(row=1, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Difference of two surfaces.')

    # - Intersection -
    B = TTK.Button(Frame, text="Intersection", command=intersection)
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Intersect two surfaces.')

    # - Rev. Difference -
    B = TTK.Button(Frame, text="Rev. Diff", command=difference2)
    B.grid(row=2, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Reversed difference of two surfaces.')
示例#4
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkFilterSurfs', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Filter or offset a surface.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=2)
    Frame.columnconfigure(2, weight=2)
    Frame.columnconfigure(3, weight=0)
    WIDGETS['frame'] = Frame
    
    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkFilterSurfs')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Point density -
    V = TK.StringVar(win); V.set('1.'); VARS.append(V)
    if 'tkFilterSurfsDensity' in CTK.PREFS: 
        V.set(CTK.PREFS['tkFilterSurfsDensity'])
    # -1- Offset -
    V = TK.StringVar(win); V.set('0.'); VARS.append(V)
    if 'tkFilterSurfsOffset' in CTK.PREFS: 
        V.set(CTK.PREFS['tkFilterSurfsOffset'])
    # -2- Algorithm cart/octree
    V = TK.StringVar(win); V.set('0'); VARS.append(V)
    if 'tkFilterSurfsType' in CTK.PREFS: 
        V.set(CTK.PREFS['tkFilterSurfsType'])

    # - Point density -
    B = TTK.Label(Frame, text="density/offset")
    B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=8)
    B.grid(row=0, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Point density (npts/length unit).')

    # - Offset -
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=8)
    B.grid(row=0, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Distance of surface offset.')

    # - Algorithm -
    B = TTK.Checkbutton(Frame, text='', variable=VARS[2])
    B.grid(row=0, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Toggle octree algorithm.')
    
    # - Remap -
    B = TTK.Button(Frame, text="Filter/offset", command=remap)
    BB = CTK.infoBulle(parent=B, text='Remap/offset a surface with a given spacing.')
    B.grid(row=2, column=0, columnspan=4, sticky=TK.EW)
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkChimera',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Chimera connectivity.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=1)
    Frame.columnconfigure(2, weight=1)
    Frame.columnconfigure(3, weight=1)
    Frame.columnconfigure(4, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkChimera')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- double wall: active ? -
    V = TK.StringVar(win)
    V.set('inactive')
    VARS.append(V)
    # -1- delta XRay -
    V = TK.StringVar(win)
    V.set('1.e-10')
    VARS.append(V)
    # -2- tolerance XRay -
    V = TK.StringVar(win)
    V.set('1.e-8')
    VARS.append(V)
    # -3- Base name 1
    V = TK.StringVar(win)
    V.set('')
    VARS.append(V)
    # -4- Relation
    V = TK.StringVar(win)
    V.set('+')
    VARS.append(V)
    # -5- Base name 2
    V = TK.StringVar(win)
    V.set('')
    VARS.append(V)
    # -6- Blanking surface
    V = TK.StringVar(win)
    V.set('')
    VARS.append(V)
    # -7- depth
    V = TK.StringVar(win)
    V.set('2')
    VARS.append(V)
    # -8- Blanking type
    V = TK.StringVar(win)
    V.set('cell_intersect')
    VARS.append(V)
    # -9- Priorite
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)

    r = 0  # row
    # - Number of layers (depth) -
    B = TTK.Label(Frame, text="Depth")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of interpolated layers.')
    B = TTK.Entry(Frame, textvariable=VARS[7], background='White', width=2)
    B.grid(row=r, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of interpolated layers.')

    # - Blanking type -
    B = TTK.OptionMenu(Frame, VARS[8], 'cell_intersect', 'cell_intersect_opt',
                       'center_in', 'node_in')
    B.grid(row=r, column=2, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Blanking type.')
    r += 1

    # - initCellN -
    B = TTK.Button(Frame, text="Init cellN", command=initCellN)
    B.grid(row=r, column=0, columnspan=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B,
                       text='Init the cellN to 1. in the tree or selection.')
    r += 1

    # - applyBCOverlap -
    B = TTK.Button(Frame, text="ApplyBCOverlaps", command=applyOverlap)
    B.grid(row=r, column=0, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(
        parent=B,
        text='Modify the cellN (=2) near BCOverlaps and doubly defined BCs.')

    # - setHoleInterpolatedPoints -
    B = TTK.Button(Frame,
                   text="SetHoleInterpPoints",
                   command=setHoleInterpolatedPoints)
    B.grid(row=r, column=2, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Modify the cellN (=2) near holes.')
    r += 1

    # - XRay delta  -
    B = TTK.Label(Frame, text="XRay delta")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B,
                       text='The created holes will expand of this value.')
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=5)
    B.grid(row=r, column=1, sticky=TK.EW)

    # - Xray tol -
    B = TTK.Label(Frame, text="Tol")
    B.grid(row=r, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(
        parent=B,
        text=
        'Two surface points separated of this value\nwill be considered as identical.'
    )
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=5)
    B.grid(row=r, column=3, sticky=TK.EW)
    r += 1

    # - Surface -
    B = TTK.Button(Frame,
                   text="Surf",
                   command=setSurface,
                   image=iconics.PHOTO[8],
                   padx=0,
                   pady=0,
                   compound=TK.RIGHT)
    B.grid(row=r, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(
        parent=B,
        text='Set blanking surfaces.\nThey must define ONE closed body.')
    B = TTK.Entry(Frame, textvariable=VARS[6], background='White')
    BB = CTK.infoBulle(parent=B, text='Blanking surfaces.')
    B.grid(row=r, column=0, columnspan=3, sticky=TK.EW)
    r += 1

    # - blanking -
    B = TTK.Button(Frame, text="Blank cells", command=blank)
    B.grid(row=r, column=0, columnspan=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Blank cells with with surface.')
    r += 1

    # - set priority -
    B = TTK.Button(Frame, text="Set Priority", command=setPriority)
    B.grid(row=r, column=0, columnspan=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set a priority to a base.')
    B = TTK.OptionMenu(Frame, VARS[9], '0', '1', '2', '3')
    B.grid(row=r, column=3, sticky=TK.EW)
    r += 1

    # - double wall active ? for optimizeOverlap
    B = TTK.Label(Frame, text="DoubleWall")
    B.grid(row=r, column=0, sticky=TK.EW)
    B = TTK.OptionMenu(Frame, VARS[0], 'inactive', 'active')
    B.grid(row=r, column=3, sticky=TK.EW)

    # - optimizeOverlap -
    B = TTK.Button(Frame, text="Optimize overlap", command=optimize)
    B.grid(row=r, column=0, columnspan=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Optimize the overlapping')
    r += 1

    # - createOversetHoles -
    B = TTK.Button(Frame,
                   text="Create OversetHoles nodes",
                   command=createOversetHoles)
    B.grid(row=r, column=0, columnspan=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B,
                       text='Create the nodes OversetHoles in pyTree.')
    r += 1
示例#6
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkRigidMotion',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Define block rigid motions.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=1)
    Frame.columnconfigure(2, weight=0)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkRigidMotion')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- motion name -
    V = TK.StringVar(win)
    V.set('New')
    VARS.append(V)
    #---------------------
    # -- Motion strings --
    #---------------------
    # -1- tx -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -2- ty -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -3- tz -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -4- cx -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -5- cy -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -6- cz -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -7- ex -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -8- ey -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -9- ez -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -10- angle -
    V = TK.StringVar(win)
    V.set('0')
    VARS.append(V)
    # -11- motion type
    V = TK.StringVar(win)
    V.set('1:MotionStrings')
    VARS.append(V)
    #-----------------------------
    # -- Cassiopee Motion rotor --
    #-----------------------------
    # -12- psi0 -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -13- psi0_b -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -14- alp_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -15- alp_vct -
    V = TK.StringVar(win)
    V.set('0.; 1.; 0.')
    VARS.append(V)
    # -16- alp0 -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -17- transl_speed -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -18- rot_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -19- rot_vct -
    V = TK.StringVar(win)
    V.set('0.; 0.; 1.')
    VARS.append(V)
    # -20- rot_omg -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -21- del_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -22- del_vct -
    V = TK.StringVar(win)
    V.set('0.; 0.; 1.')
    VARS.append(V)
    # -23- del0 -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -24- delc -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -25- dels -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -26- bet_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -27- bet_vct -
    V = TK.StringVar(win)
    V.set('0.; 0.; 1.')
    VARS.append(V)
    # -28- bet0 -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -29- betc -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -30- bets -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -31- tet_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -32- tet_vct -
    V = TK.StringVar(win)
    V.set('1.; 0.; 0.')
    VARS.append(V)
    # -33- tet0 -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -34- tetc -
    V = TK.StringVar(win)
    V.set('0.')
    VARS.append(V)
    # -35- tets -
    V = TK.StringVar(win)
    V.set('0.')
    VARS.append(V)
    # -36- span_vct -
    V = TK.StringVar(win)
    V.set('1.; 0.; 0.')
    VARS.append(V)
    # -37- pre_lag_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -38- pre_lag_vct -
    V = TK.StringVar(win)
    V.set('1.; 0.; 0.')
    VARS.append(V)
    # -39- pre_lag_ang -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    # -40- pre_con_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -41- pre_con_vct -
    V = TK.StringVar(win)
    V.set('1.; 0.; 0.')
    VARS.append(V)
    # -42- pre_con_ang -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)
    #----------------------
    # -- Constant motion --
    #----------------------
    # -43- transl_speed -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -44- axis_pnt -
    V = TK.StringVar(win)
    V.set('0.; 0.; 0.')
    VARS.append(V)
    # -45- axis_vct -
    V = TK.StringVar(win)
    V.set('0.; 0.; 1.')
    VARS.append(V)
    # -46- omega -
    V = TK.DoubleVar(win)
    V.set(0.)
    VARS.append(V)

    # - Settings -
    B = TTK.OptionMenu(Frame,
                       VARS[11],
                       '1:MotionStrings',
                       '2:KMotionRotor',
                       '3:ConstantMotion',
                       command=changeMotionType)
    B.grid(row=0, column=0, columnspan=3, sticky=TK.EW)

    B = TTK.Label(Frame, text="Name:")
    BB = CTK.infoBulle(parent=B, text='Name of motion.')
    B.grid(row=1, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White')
    B.grid(row=1, column=1, columnspan=2, sticky=TK.EW)

    # - Set/Get -
    B = TTK.Button(Frame, text="Get", command=getVars)
    B.grid(row=3, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Get motion from zone (if exists).')
    B = TTK.Button(Frame, text="Set", command=setVars)
    B.grid(row=3, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set motion in zone.')
    B = TTK.Button(Frame, text="Reset", command=resetVars)
    B.grid(row=3, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Reset all to default.')

    # Frame pour chaque type de motion
    Frame1 = TTK.Frame(Frame, borderwidth=0)
    Frame1.columnconfigure(0, weight=0)
    Frame1.columnconfigure(1, weight=1)
    WIDGETS['frame1'] = Frame1
    Frame2 = TTK.Frame(Frame, borderwidth=0)
    Frame2.columnconfigure(0, weight=0)
    Frame2.columnconfigure(1, weight=1)
    WIDGETS['frame2'] = Frame2
    Frame3 = TTK.Frame(Frame, borderwidth=0)
    Frame3.columnconfigure(0, weight=0)
    Frame3.columnconfigure(1, weight=1)
    WIDGETS['frame3'] = Frame3

    # - Motion Type1: motion strings -
    B = TTK.Label(Frame1, text="tx:")
    BB = CTK.infoBulle(parent=B,
                       text='Translation of origin.\nCan depend on {t}.')
    B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[1], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Translation of origin.\nCan depend on {t}.')
    B.grid(row=0, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Label(Frame1, text="ty:")
    BB = CTK.infoBulle(parent=B,
                       text='Translation of origin.\nCan depend on {t}.')
    B.grid(row=1, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[2], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Translation of origin.\nCan depend on {t}.')
    B.grid(row=1, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Label(Frame1, text="tz:")
    BB = CTK.infoBulle(parent=B,
                       text='Translation of origin.\nCan depend on {t}.')
    B.grid(row=2, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[3], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Translation of origin.\nCan depend on {t}.')
    B.grid(row=2, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Button(Frame1, text="Set", command=setTransOrigin)
    B.grid(row=1, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set trans origin from mouse.')

    B = TTK.Label(Frame1, text="cx:")
    BB = CTK.infoBulle(parent=B,
                       text='Center of rotation.\nCan depend on {t}.')
    B.grid(row=4, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[4], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Center of rotation.\nCan depend on {t}.')
    B.grid(row=4, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Label(Frame1, text="cy:")
    BB = CTK.infoBulle(parent=B,
                       text='Center of rotation.\nCan depend on {t}.')
    B.grid(row=5, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[5], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Center of rotation.\nCan depend on {t}.')
    B.grid(row=5, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Label(Frame1, text="cz:")
    BB = CTK.infoBulle(parent=B,
                       text='Center of rotation.\nCan depend on {t}.')
    B.grid(row=6, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[6], background='White')
    B.grid(row=6, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Button(Frame1, text="Set", command=setCenterRotation)
    B.grid(row=5, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set rotation center from mouse.')

    B = TTK.Label(Frame1, text="ex:")
    BB = CTK.infoBulle(parent=B,
                       text='Second rot axis point.\nCan depend on {t}.')
    B.grid(row=7, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[7], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Second rot axis point.\nCan depend on {t}.')
    B.grid(row=7, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Label(Frame1, text="ey:")
    BB = CTK.infoBulle(parent=B,
                       text='Second rot axis point.\nCan depend on {t}.')
    B.grid(row=8, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[8], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Second rot axis point.\nCan depend on {t}.')
    B.grid(row=8, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Label(Frame1, text="ez:")
    BB = CTK.infoBulle(parent=B,
                       text='Second rot axis point.\nCan depend on {t}.')
    B.grid(row=9, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[9], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Second rot axis point.\nCan depend on {t}.')
    B.grid(row=9, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    B = TTK.Button(Frame1, text="Set", command=set2Axis)
    B.grid(row=8, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set rot axis from mouse.')

    B = TTK.Label(Frame1, text="angle:")
    BB = CTK.infoBulle(parent=B,
                       text='Rotation angle.\Can depend on {t}. In degrees.')
    B.grid(row=10, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame1, textvariable=VARS[10], background='White')
    BB = CTK.infoBulle(parent=B,
                       text='Rotation angle.\Can depend on {t}. In degrees.')
    B.grid(row=10, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars1)

    # - Motion Type2: KMotionRotor -
    B = TTK.Label(Frame2, text="transl_speed:")
    BB = CTK.infoBulle(parent=B, text='Translation speed and span_vect.')
    B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[17], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='transl_speed.')
    B.grid(row=0, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Entry(Frame2, textvariable=VARS[36], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='span vector.')
    B.grid(row=0, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="psi0:")
    BB = CTK.infoBulle(parent=B, text='Azymuth at t=0.')
    B.grid(row=1, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[12], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='psi0. In degrees.')
    B.grid(row=1, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[13], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='psi0_b. In degrees.')
    B.grid(row=1, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="alp:")
    BB = CTK.infoBulle(parent=B, text='Shaft angle.')
    B.grid(row=2, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[14], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='alp_pnt.')
    B.grid(row=2, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[15], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='alp_vct.')
    B.grid(row=2, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[16], background='White', width=4)
    BB = CTK.infoBulle(parent=B, text='alp0. In degrees.')
    B.grid(row=2, column=3, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="rot:")
    BB = CTK.infoBulle(parent=B, text='Rotation.')
    B.grid(row=3, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[18], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='rot_pnt.')
    B.grid(row=3, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[19], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='rot_vct.')
    B.grid(row=3, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[20], background='White', width=4)
    BB = CTK.infoBulle(parent=B, text='rot_omg. In rad/time unit.')
    B.grid(row=3, column=3, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="del:")
    BB = CTK.infoBulle(parent=B, text='..')
    B.grid(row=4, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[21], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='del_pnt.')
    B.grid(row=4, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[22], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='del_vct.')
    B.grid(row=4, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[23], background='White', width=4)
    B.grid(row=4, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='del0. In degrees.')
    B.bind('<Return>', setVars2)
    B = TTK.Label(Frame2, text="delc,s:")
    BB = CTK.infoBulle(parent=B, text='del modes.')
    B.grid(row=5, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[24], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='delc.')
    B.grid(row=5, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[25], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='dels.')
    B.grid(row=5, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="bet:")
    BB = CTK.infoBulle(parent=B, text='..')
    B.grid(row=6, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[26], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='bet_pnt.')
    B.grid(row=6, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[27], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='bet_vct.')
    B.grid(row=6, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[28], background='White', width=4)
    B.grid(row=6, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='bet0. In degrees.')
    B.bind('<Return>', setVars2)
    B = TTK.Label(Frame2, text="betc,s:")
    BB = CTK.infoBulle(parent=B, text='bet modes.')
    B.grid(row=7, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[29], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='betc.')
    B.grid(row=7, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[30], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='bets.')
    B.grid(row=7, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="tet:")
    BB = CTK.infoBulle(parent=B, text='..')
    B.grid(row=8, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[31], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='tet_pnt.')
    B.grid(row=8, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[32], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='tet_vct.')
    B.grid(row=8, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[33], background='White', width=4)
    B.grid(row=8, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='tet0. In degrees.')
    B.bind('<Return>', setVars2)
    B = TTK.Label(Frame2, text="tetc,s:")
    BB = CTK.infoBulle(parent=B, text='tet modes.')
    B.grid(row=9, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[34], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='tetc.')
    B.grid(row=9, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[35], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='tets.')
    B.grid(row=9, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="pre_lag:")
    BB = CTK.infoBulle(parent=B, text='..')
    B.grid(row=10, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame2, textvariable=VARS[37], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='pre_lag_pnt.')
    B.grid(row=10, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[38], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='pre_lag_vct.')
    B.grid(row=10, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TTK.Entry(Frame2, textvariable=VARS[39], background='White', width=4)
    B.grid(row=10, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='pre_lag_ang. In degrees.')
    B.bind('<Return>', setVars2)

    B = TTK.Label(Frame2, text="pre_con:")
    BB = CTK.infoBulle(parent=B, text='..')
    B.grid(row=11, column=0, sticky=TK.EW)
    B = TK.Entry(Frame2, textvariable=VARS[40], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='pre_con_pnt.')
    B.grid(row=11, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TK.Entry(Frame2, textvariable=VARS[41], background='White', width=10)
    BB = CTK.infoBulle(parent=B, text='pre_con_vct.')
    B.grid(row=11, column=2, sticky=TK.EW)
    B.bind('<Return>', setVars2)
    B = TK.Entry(Frame2, textvariable=VARS[42], background='White', width=4)
    B.grid(row=11, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='pre_con_ang. In degrees.')
    B.bind('<Return>', setVars2)

    # - Motion Type3: ConstantMotion -
    B = TTK.Label(Frame3, text="transl_speed:")
    BB = CTK.infoBulle(parent=B, text='Translation speed.')
    B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame3, textvariable=VARS[43], background='White')
    BB = CTK.infoBulle(parent=B, text='Translation speed.')
    B.grid(row=0, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars3)
    B = TTK.Label(Frame3, text="axis_pnt:")
    BB = CTK.infoBulle(parent=B, text='Rotation center.')
    B.grid(row=1, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame3, textvariable=VARS[44], background='White')
    BB = CTK.infoBulle(parent=B, text='Rotation center.')
    B.grid(row=1, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars3)
    B = TTK.Label(Frame3, text="axis_vct:")
    BB = CTK.infoBulle(parent=B, text='Rotation axis.')
    B.grid(row=2, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame3, textvariable=VARS[45], background='White')
    BB = CTK.infoBulle(parent=B, text='Rotation axis.')
    B.grid(row=2, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars3)
    B = TTK.Label(Frame3, text="omega:")
    BB = CTK.infoBulle(parent=B, text='Rotation speed. In rad/time unit.')
    B.grid(row=3, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame3, textvariable=VARS[46], background='White')
    BB = CTK.infoBulle(parent=B, text='Rotation speed. In rad/time unit.')
    B.grid(row=3, column=1, sticky=TK.EW)
    B.bind('<Return>', setVars3)

    changeMotionType()
示例#7
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkSmooth', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Smooth meshes.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=0)
    Frame.columnconfigure(2, weight=0)
    Frame.columnconfigure(3, weight=0)
    Frame.columnconfigure(4, weight=0)
    WIDGETS['frame'] = Frame
    
    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkSmooth')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Smoother niter -
    V = TK.StringVar(win); V.set('10'); VARS.append(V)
    if 'tkSmoothIter' in CTK.PREFS: V.set(CTK.PREFS['tkSmoothIter'])
    # -1- Constraint
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -2- Constraint strength
    V = TK.StringVar(win); V.set('0.1'); VARS.append(V)
    if 'tkSmoothConsStrength' in CTK.PREFS: 
        V.set(CTK.PREFS['tkSmoothConsStrength'])
    # -3- Constraint external faces
    V = TK.IntVar(win); V.set(1); VARS.append(V)
    # -4- smooth eps
    V = TK.StringVar(win); V.set('0.5'); VARS.append(V)
    if 'tkSmoothEps' in CTK.PREFS: 
        V.set(CTK.PREFS['tkSmoothEps'])
    # -5- Constraint sharp edges
    V = TK.IntVar(win); V.set(0); VARS.append(V)
    # -6- Sharp edges detection angle
    V = TK.StringVar(win); V.set('30.'); VARS.append(V)
    if 'tkSmoothSharpAngle' in CTK.PREFS: 
        V.set(CTK.PREFS['tkSmoothSharpAngle'])
    # -7- Project on surface
    V = TK.IntVar(win); V.set(0); VARS.append(V)
    # -8- Type de smoothing
    V = TK.StringVar(win); V.set('Volume'); VARS.append(V)
    if 'tkSmoothType' in CTK.PREFS: 
        V.set(CTK.PREFS['tkSmoothType'])

    # - Smoother power -
    #B = TTK.Label(Frame, text="Eps")
    #B.grid(row=0, column=0, sticky=TK.EW)
    B = TTK.OptionMenu(Frame, VARS[8], 'Volume', 'Scale', 'Taubin')
    BB = CTK.infoBulle(parent=B, text='Smoothing algorithm.')
    B.grid(row=0, column=0, columnspan=2, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=4)
    B.grid(row=0, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Smoother power.')
    B = TTK.Label(Frame, text="Iter")
    B.grid(row=0, column=3, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=4)
    B.grid(row=0, column=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of smoother iterations.')

    # - Constraint strength -
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=4)
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Strength of constraints.')

    # - Keep external faces -
    B = TTK.Checkbutton(Frame, text='EF', variable=VARS[3])
    B.grid(row=1, column=1, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Keep external faces.')

    # - Keep sharp edges faces -
    B = TTK.Checkbutton(Frame, text='SE', variable=VARS[5])
    B.grid(row=1, column=2, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Keep sharp edges.')

    # - Project on surface
    B = TTK.Checkbutton(Frame, text='PJ', variable=VARS[7])
    B.grid(row=1, column=3, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Project on surface.')

    # - Sharp edges detection
    B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=4)
    B.grid(row=1, column=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Sharp edges detection angle.')

    # - Smoother constraint -
    B = TTK.Button(Frame, command=setConstraint,
                   image=iconics.PHOTO[8], padx=0, pady=0)
    BB = CTK.infoBulle(parent=B, text='Set constraint curves for smoother (points dont move).')
    B.grid(row=2, column=4, columnspan=1, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=8)
    B.grid(row=2, column=0, columnspan=4, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Constraint curves for smoother (points dont move).')
    
    # - Smooth -
    B = TTK.Button(Frame, text="Smooth", command=smooth)
    BB = CTK.infoBulle(parent=B, text='Smooth mesh.')
    B.grid(row=3, column=0, columnspan=5, sticky=TK.EW)
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkFastSolver',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=1)
    Frame.columnconfigure(2, weight=0)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkFastSolver')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- temporal_scheme -
    V = TK.StringVar(win)
    V.set('explicit')
    VARS.append(V)
    # -1- ss_iteration -
    V = TK.StringVar(win)
    V.set('20')
    VARS.append(V)
    # -2- modulo_verif -
    V = TK.StringVar(win)
    V.set('200')
    VARS.append(V)
    # -3- restart_fields -
    V = TK.StringVar(win)
    V.set('1')
    VARS.append(V)
    # -4- scheme -
    V = TK.StringVar(win)
    V.set('ausmpred')
    VARS.append(V)
    # -5- Time step -
    V = TK.DoubleVar(win)
    V.set(0.002)
    VARS.append(V)
    # -6- Snear -
    V = TK.DoubleVar(win)
    V.set(0.01)
    VARS.append(V)
    # -7- IBC type -
    V = TK.StringVar(win)
    V.set('Musker')
    VARS.append(V)
    # -8- dfar local -
    V = TK.DoubleVar(win)
    V.set(-1.)
    VARS.append(V)

    # - temporal scheme -
    B = TTK.Label(Frame, text="temporal_scheme")
    B.grid(row=0, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Time integration.')
    B = TTK.OptionMenu(Frame, VARS[0], 'explicit', 'implicit',
                       'implicit_local')
    B.grid(row=0, column=1, columnspan=2, sticky=TK.EW)

    # - ss_iteration -
    #B = TTK.Label(Frame, text="ss_iteration")
    #B.grid(row=1, column=0, sticky=TK.EW)
    #BB = CTK.infoBulle(parent=B, text='Nbre de sous iterations max.')
    #B = TTK.Entry(Frame, textvariable=VARS[1])
    #B.grid(row=1, column=1, columnspan=2, sticky=TK.EW)

    # - scheme -
    B = TTK.Label(Frame, text="scheme")
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Numerical scheme.')
    B = TTK.OptionMenu(Frame, VARS[4], 'ausmpred', 'roe_min')
    B.grid(row=2, column=1, columnspan=2, sticky=TK.EW)

    # - time_step -
    B = TTK.Label(Frame, text="time_step")
    B.grid(row=3, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Time step.')
    B = TTK.Entry(Frame, textvariable=VARS[5])
    B.grid(row=3, column=1, columnspan=2, sticky=TK.EW)

    #- Snear settings  -
    B = TTK.Label(Frame, text="snear")
    B.grid(row=4, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[6])
    B.grid(row=4, column=1, columnspan=2, sticky=TK.EW)

    #- dfar settings  -
    B = TTK.Label(Frame, text="dfar")
    B.grid(row=5, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[8])
    B.grid(row=5, column=1, columnspan=2, sticky=TK.EW)

    # - IBC type -
    B = TTK.Label(Frame, text="IBC type")
    B.grid(row=6, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Type of IBC.')
    B = TTK.OptionMenu(Frame, VARS[7], 'slip', 'noslip', 'Log', 'Musker',
                       'outpress', 'inj', 'TBLE')
    B.grid(row=6, column=1, columnspan=2, sticky=TK.EW)

    # - Set data -
    B = TTK.Button(Frame, text="Set data", command=setData)
    BB = CTK.infoBulle(parent=B, text='Set data into selected zone.')
    B.grid(row=7, column=0, columnspan=2, sticky=TK.EW)
    B = TTK.Button(Frame,
                   command=getData,
                   image=iconics.PHOTO[8],
                   padx=0,
                   pady=0,
                   compound=TK.RIGHT)
    BB = CTK.infoBulle(parent=B, text='Get data from selected zone.')
    B.grid(row=7, column=2, sticky=TK.EW)
示例#9
0
def createApp(win):

    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkPerfo', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Improve performance of Cassiopee.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=4)
    Frame.columnconfigure(2, weight=1)

    WIDGETS['frame'] = Frame
    
    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkPerfo')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Displayed field -
    V = TK.StringVar(win); V.set('All fields'); VARS.append(V)
    # -1- Oneovern -
    V = TK.StringVar(win); V.set('All points'); VARS.append(V)
    if 'tkPerfoPoints' in CTK.PREFS: V.set(CTK.PREFS['tkPerfoPoints'])
    # -2- Threads
    V = TK.StringVar(win); V.set('1'); VARS.append(V)
    
    # - Field transmission -
    B = TTK.Label(Frame, text="Display")
    B.grid(row=0, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Describe what part of the tree is displayed.\nCan fasten the display. In memory tree is not modified.')

    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    
    if ttk is None:
        B = TK.OptionMenu(F, VARS[0], 'All fields', 'No field')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList)
        F.grid(row=0, column=1, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Display only certain fields.')
        WIDGETS['fields'] = B
    else:
        B = ttk.Combobox(F, textvariable=VARS[0], 
                         values=['All fields', 'No field'], 
                         state='readonly', width=10)
        B.grid(sticky=TK.EW)
        B.bind('<<ComboboxSelected>>', setViewMode2)
        F.bind('<Enter>', updateVarNameList2)
        F.grid(row=0, column=1, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Display only certain fields.')
        WIDGETS['fields'] = B

    # - Point transmission -
    B = TTK.OptionMenu(Frame, VARS[1], 'All points', 'One over 2', 'One over 3',
                       'One over 4', 'Exclusive', command=oneovern)
    B.grid(row=0, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Display less points.')

    # - OMP threads -
    B = TTK.Label(Frame, text="Threads")
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='The number of CPU cores used by Cassiopee.')
    F = TTK.Frame(Frame, borderwidth=0)
    F.grid(row=1, column=1, columnspan=1, sticky=TK.EW)
    B = TTK.Entry(F, textvariable=VARS[2], background='White', width=3)
    B.grid(row=0, column=0, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of threads\n(init value is OMP_NUM_THREADS).')
    B.bind('<Return>', setThreads)
    WIDGETS['threads'] = B
    mxProcs = getMaxProcs()
    B = TK.Label(F, text='/'+mxProcs)
    B.grid(row=0, column=1, columnspan=1, sticky=TK.EW)

    B = TTK.Button(Frame, text="Set", command=setThreads)
    B.grid(row=1, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set the number of threads.')
示例#10
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkBlader',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Automatic mesher for\nblades.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkBlader')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- front split % -
    V = TK.StringVar(win)
    V.set('0.5')
    VARS.append(V)
    if 'tkBladerFrontSplit' in CTK.PREFS:
        V.set(CTK.PREFS['tkBladerFrontSplit'])
    # -1- front step -
    V = TK.StringVar(win)
    V.set('0.001')
    VARS.append(V)
    if 'tkBladerFrontStep' in CTK.PREFS:
        V.set(CTK.PREFS['tkBladerFrontStep'])
    # -2- other step -
    V = TK.StringVar(win)
    V.set('0.01')
    VARS.append(V)
    if 'tkBladerStep' in CTK.PREFS:
        V.set(CTK.PREFS['tkBladerStep'])
    # -3- delta line index -
    V = TK.StringVar(win)
    V.set('15')
    VARS.append(V)
    # -4- Dfar. Mesh height -
    V = TK.StringVar(win)
    V.set('0.3')
    VARS.append(V)
    if 'tkBladerHeight' in CTK.PREFS:
        V.set(CTK.PREFS['tkBladerHeight'])
    # -5- hp: step en envergure -
    V = TK.StringVar(win)
    V.set('0.02')
    VARS.append(V)
    if 'tkBladerSpanStep' in CTK.PREFS:
        V.set(CTK.PREFS['tkBladerSpanStep'])
    # -6- span: longeur de l'envergure -
    V = TK.StringVar(win)
    V.set('5.')
    VARS.append(V)
    if 'tkBladerSpan' in CTK.PREFS:
        V.set(CTK.PREFS['tkBladerSpan'])

    # - Step1 -
    B = TTK.Label(Frame, text='Front split %:')
    B.grid(row=0, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Split profile at %.')
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=5)
    B.grid(row=0, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Index for front split.')

    B = TTK.Label(Frame, text='Front step:')
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Front step.')
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=5)
    B.grid(row=1, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Step for front and back of profile.')

    B = TTK.Label(Frame, text='Profile step:')
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Profile step.')
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=5)
    B.grid(row=2, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Step on profile.')

    B = TTK.Label(Frame, text='Delta line index:')
    B.grid(row=3, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Index for delta line.')
    B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=5)
    B.grid(row=3, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Index for delta line.')

    B = TTK.Label(Frame, text='Mesh height:')
    B.grid(row=4, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Mesh height.')
    B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=5)
    B.grid(row=4, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Mesh height.')

    B = TTK.Button(Frame, text="Step 1", command=step1)
    B.grid(row=5, column=0, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Run step 1. Plane mesh.')

    B = TTK.Label(Frame, text='Span length:')
    B.grid(row=6, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Span length.')
    B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=5)
    B.grid(row=6, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Span length.')

    B = TTK.Label(Frame, text='Span step:')
    B.grid(row=7, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Step in span direction.')
    B = TTK.Entry(Frame, textvariable=VARS[5], background='White', width=5)
    B.grid(row=7, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Step in span direction.')

    B = TTK.Button(Frame, text="Step 2", command=step2)
    B.grid(row=8, column=0, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Run step 2. Volume mesh.')
示例#11
0
def createApp(win):
    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkPrefs',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Set Cassiopee preferences.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=2)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    #FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkPrefs')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Default mesh display style -
    V = TK.StringVar(win)
    V.set('Monocolor wires+solid')
    VARS.append(V)
    # -1- Undo
    V = TK.StringVar(win)
    V.set('Active')
    VARS.append(V)
    # -2- DisplayInfo
    V = TK.StringVar(win)
    V.set('Active')
    VARS.append(V)
    # -3- bgColor
    V = TK.StringVar(win)
    V.set('Black')
    VARS.append(V)
    # -4- auto open apps
    V = TK.StringVar(win)
    V.set('')
    VARS.append(V)
    # -5- Default solid display style -
    V = TK.StringVar(win)
    V.set('Monocolor/1-side')
    VARS.append(V)
    # -6- Default envmap
    V = TK.StringVar(win)
    V.set('windtunnel.png')
    VARS.append(V)
    # -7- Selection style
    V = TK.StringVar(win)
    V.set('Blue')
    VARS.append(V)
    # -8- Export resolution
    V = TK.StringVar(win)
    V.set('1120x820')
    VARS.append(V)
    # -9- GUI Theme
    V = TK.StringVar(win)
    V.set('default')
    VARS.append(V)

    # Init VARS par le fichier de preferences
    CTK.loadPrefFile()
    for i in CTK.PREFS:
        k1 = CTK.PREFS[i]
        if i == 'undo':
            if k1 == '1': VARS[1].set('Active')
            elif k1 == '0': VARS[1].set('Inactive')
        elif i == 'displayInfo':
            if k1 == '1': VARS[2].set('Active')
            elif k1 == '0': VARS[2].set('Inactive')
        elif i == 'bgColor':
            if k1 == '0': VARS[3].set('Black')
            elif k1 == '1': VARS[3].set('White')
            elif k1 == '2': VARS[3].set('Grey')
            elif k1 == '3': VARS[3].set('Yellow')
            elif k1 == '4': VARS[3].set('Blue')
            elif k1 == '5': VARS[3].set('Red')
            elif k1 == '6': VARS[3].set('Paper1')
            elif k1 == '7': VARS[3].set('Paper2')
            elif k1 == '8': VARS[3].set('Arch')
            elif k1 == '9': VARS[3].set('Jarvis')
            elif k1 == '10': VARS[3].set('Onera')
        elif i == 'auto': VARS[4].set(k1)
        elif i == 'envmap': VARS[6].set(k1)
        elif i == 'selectionStyle': VARS[7].set(k1)
        elif i == 'exportResolution': VARS[8].set(k1)
        elif i == 'guitheme': VARS[9].set(k1)

    r = 0
    # - gui theme -
    B = TTK.Label(Frame, text="GUI Theme")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Style for GUI (buttons,...).')

    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TTK.OptionMenu(F, VARS[9], 'default')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateThemeList)
        F.grid(row=r, column=1, sticky=TK.EW)
        WIDGETS['guitheme'] = B
    else:
        B = ttk.Combobox(F,
                         textvariable=VARS[9],
                         values=[],
                         state='readonly',
                         width=10)
        B.bind('<<ComboboxSelected>>', setTheme)
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateThemeList2)
        F.grid(row=r, column=1, sticky=TK.EW)
        WIDGETS['guitheme'] = B
    r += 1

    # - Default display info style -
    B = TTK.Label(Frame, text="Display Info")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Default display info style.')
    B = TTK.OptionMenu(Frame,
                       VARS[2],
                       'Active',
                       'Inactive',
                       command=setDisplayInfo)
    B.grid(row=r, column=1, sticky=TK.EW)
    r += 1

    # - Default background color -
    B = TTK.Label(Frame, text="Background")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Default background color or image.')
    B = TTK.OptionMenu(Frame,
                       VARS[3],
                       'Black',
                       'White',
                       'Grey',
                       'Yellow',
                       'Blue',
                       'Red',
                       'Paper1',
                       'Paper2',
                       'Arch',
                       'Jarvis',
                       'Onera',
                       command=setBgColor)
    B.grid(row=r, column=1, sticky=TK.EW)
    r += 1

    # - Undo -
    B = TTK.Label(Frame, text="Undo")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Undo is active.')
    B = TTK.OptionMenu(Frame, VARS[1], 'Active', 'Inactive', command=setUndo)
    B.grid(row=r, column=1, sticky=TK.EW)
    r += 1

    # - selection style -
    B = TTK.Label(Frame, text="Selection")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Selection style.')
    B = TTK.OptionMenu(Frame,
                       VARS[7],
                       'Blue',
                       'Alpha',
                       command=setSelectionStyle)
    B.grid(row=r, column=1, sticky=TK.EW)
    r += 1

    # - Envmap -
    B = TTK.Label(Frame, text="Envmap")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Environment map (chrome/glass render).')
    B = TTK.OptionMenu(Frame,
                       VARS[6],
                       'windtunnel.png',
                       'sky.png',
                       'city.png',
                       'forest.png',
                       'house.png',
                       command=setEnvmap)
    B.grid(row=r, column=1, sticky=TK.EW)
    r += 1

    # - export resolution -
    B = TTK.Label(Frame, text="Export")
    B.grid(row=r, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Resolution for image export.')
    B = TTK.Entry(Frame, textvariable=VARS[8], background='White', width=5)
    B.bind('<Return>', setExportRes)
    BB = CTK.infoBulle(parent=B, text='Resolution for image export.')
    B.grid(row=r, column=1, sticky=TK.EW)
    r += 1

    # - Auto open apps -
    #B = TK.Button(Frame, text='Opened apps', command=getOpenedApps)
    #BB = CTK.infoBulle(parent=B, text='Keep currently opened apps for next restart.')
    #B.grid(row=r, column=0, sticky=TK.EW)
    #B = TK.Button(Frame, text='Classic apps', command=getClassicApps)
    #BB = CTK.infoBulle(parent=B, text='Keep a classic set of apps for next restart.')
    #B.grid(row=r, column=1, sticky=TK.EW)
    #r += 1
    #B = TK.Label(Frame, text="Auto open")
    #B.grid(row=r, column=0, sticky=TK.EW)
    #BB = CTK.infoBulle(parent=B, text='Open automatically these apps for next restart (tkTree;tkBC;...)')
    #B = TK.Entry(Frame, textvariable=VARS[4], background='White')
    #BB = CTK.infoBulle(parent=B, text='Apps opened for next restart (tkTree;tkBC;...)')
    #B.grid(row=r, column=1, sticky=TK.EW)
    #r += 1

    # - Set prefs -
    #B = TK.Button(Frame, text="Set prefs", command=setPrefs)
    #B.grid(row=r, column=0, columnspan=2, sticky=TK.EW)
    #BB = CTK.infoBulle(parent=B, text='Set prefs in Cassiopee.')
    #WIDGETS.append(B); r += 1

    # - Save prefs -
    B = TTK.Button(Frame, text="Save prefs", command=savePrefs)
    B.grid(row=r, column=0, columnspan=2, sticky=TK.EW)
    B = CTK.infoBulle(parent=B, text='Save pref file (.cassiopee).')
    r += 1
示例#12
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkState',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Set information on case.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkState')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Pb dim -
    V = TK.StringVar(win)
    V.set('3D')
    VARS.append(V)
    # -1- Model -
    V = TK.StringVar(win)
    V.set('Euler')
    VARS.append(V)
    # -2- Mach -
    V = TK.StringVar(win)
    V.set('0.5')
    VARS.append(V)
    # -3- Reinf -
    V = TK.StringVar(win)
    V.set('1.e8')
    VARS.append(V)
    # -4- Incidence/Z -
    V = TK.StringVar(win)
    V.set('0.')
    VARS.append(V)
    # -5- Incidence/Y -
    V = TK.StringVar(win)
    V.set('0.')
    VARS.append(V)
    # -6- Type de modele de turbulence
    V = TK.StringVar(win)
    V.set('SpalartAllmaras')
    VARS.append(V)
    # -7- Valeurs pour les grandeurs turbulentes
    V = TK.StringVar(win)
    V.set('1.e-6')
    VARS.append(V)
    # -8- Jeux de variables definissant l'etat de reference
    V = TK.StringVar(win)
    V.set('[adim1] ro,T,a')
    VARS.append(V)
    # -9- MutSMuInf
    V = TK.StringVar(win)
    V.set('0.2')
    VARS.append(V)
    # -10- TurbLevelInf
    V = TK.StringVar(win)
    V.set('1.e-4')
    VARS.append(V)
    # -11- Adim
    V = TK.StringVar(win)
    V.set('adim1(Ro,A,T)')
    VARS.append(V)

    # - Pb dim -
    F = TTK.Frame(Frame, borderwidth=2, relief=CTK.FRAMESTYLE)
    F.columnconfigure(0, weight=1)
    F.columnconfigure(1, weight=2)
    F.columnconfigure(1, weight=2)
    B = TTK.Label(F, text="Pb dim")
    B.grid(row=0, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Dimension of the problem.')
    B = TTK.OptionMenu(F, VARS[0], '3D', '2D', command=setDim)
    B.grid(row=0, column=1, sticky=TK.EW)
    B = TTK.Button(F, text="Set dim", command=setDim)
    BB = CTK.infoBulle(parent=B, text='Set dim in all bases.')
    B.grid(row=0, column=2, sticky=TK.EW)
    F.grid(row=0, column=0, sticky=TK.EW)

    F = TTK.Frame(Frame, borderwidth=2, relief=CTK.FRAMESTYLE)
    F.columnconfigure(0, weight=1)
    F.columnconfigure(1, weight=4)

    # - Modele de fluide -
    B = TTK.Label(F, text="GovEquations")
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Governing equations to solve.')
    B = TTK.OptionMenu(F, VARS[1], 'Euler', 'NSLaminar', 'NSTurbulent')
    B.grid(row=1, column=1, sticky=TK.EW)

    # - Jeu de grandeurs definissant l'etat de reference -
    #B = TK.Label(F, text="Variables")
    #B.grid(row=2, column=0, sticky=TK.EW)
    #BB = CTK.infoBulle(parent=B, text='Change the set of variables defining the reference state.')
    #B = TK.OptionMenu(F, VARS[8], '[adim1] ro,a,T', '[adim2] ro,u,T', '[dim1] U,T,P,L', '[dim2] ro,u,T,L', '[dim3] ro,u,P,L')
    #B.grid(row=2, column=1, sticky=TK.EW)

    # - Mach -
    B = TTK.Label(F, text="Mach")
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Reference (infinite) mach number.')
    B = TTK.Entry(F, textvariable=VARS[2], background='White')
    B.grid(row=2, column=1, sticky=TK.EW)

    # - Reynolds -
    B = TTK.Label(F, text="Reynolds")
    B.grid(row=3, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Reference (infinite) Reynolds number.')
    B = TTK.Entry(F, textvariable=VARS[3], background='White')
    B.grid(row=3, column=1, sticky=TK.EW)

    # - Incidence/Z -
    B = TTK.Label(F, text="Incidence/Z (deg)")
    BB = CTK.infoBulle(parent=B, text='Angle of incident flow around z axis.')
    B.grid(row=4, column=0, sticky=TK.EW)
    B = TTK.Entry(F, textvariable=VARS[4], background='White')
    B.grid(row=4, column=1, sticky=TK.EW)

    # - Incidence/Y -
    B = TTK.Label(F, text="Incidence/Y (deg)")
    B.grid(row=5, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Angle of incident flow around y axis.')
    B = TTK.Entry(F, textvariable=VARS[5], background='White')
    B.grid(row=5, column=1, sticky=TK.EW)

    # - Modele de turbulence -
    B = TTK.Label(F, text="TubulenceModel")
    B.grid(row=6, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Type of turbulence model.')
    B = TTK.OptionMenu(F, VARS[6], 'SpalartAllmaras', 'JonesLaunder(k-eps)',
                       'Wilcox(k-w)', 'MenterSST(k-w)')
    B.grid(row=6, column=1, sticky=TK.EW)

    # - Valeurs des grandeurs turbulentes -
    B = TTK.Label(F, text="MutSMu")
    B.grid(row=7, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(
        parent=B,
        text='Ratio between turbulent viscosity and molecular viscosity.')
    B = TTK.Entry(F, textvariable=VARS[9], background='White')
    B.grid(row=7, column=1, sticky=TK.EW)

    B = TTK.Label(F, text="TurbLevel")
    B.grid(row=8, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Level of turbulence.')
    B = TTK.Entry(F, textvariable=VARS[10], background='White')
    B.grid(row=8, column=1, sticky=TK.EW)

    # - Adim -
    B = TTK.Label(F, text="Adim")
    B.grid(row=9, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Type of adimensionalization.')
    B = TTK.OptionMenu(
        F, VARS[11], 'adim1(Ro,A,T)', 'adim2(Ro,U,T)'
    )  #,'dim1(real UInf,TInf,PInf,Rgp=287.053)', 'dim2(real UInf,TInf,RoInf,Rgp=287.053)','dim3(real UInf,PInf,RoInf,Rgp=287.053)')
    B.grid(row=9, column=1, sticky=TK.EW)

    # - get state, inutile a mon avis -
    B = TTK.Button(F, text="Get state", command=getState)
    B.grid(row=10, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Read state from pyTree.')

    # - set state -
    B = TTK.Button(F, text="Set state", command=setState)
    B.grid(row=10, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Write state to pyTree.')

    F.grid(row=1, column=0, sticky=TK.EW)
示例#13
0
def createApp(win):
    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkIsoLine',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Compute isolines.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=1)
    Frame.columnconfigure(2, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkIsoLine')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Field name -
    V = TK.StringVar(win)
    V.set('CoordinateX')
    VARS.append(V)
    # -1- nlevels -
    V = TK.StringVar(win)
    V.set('25')
    VARS.append(V)
    if 'tkIsoLineLevels' in CTK.PREFS:
        V.set(CTK.PREFS['tkIsoLineLevels'])
    # -2- value -
    V = TK.StringVar(win)
    V.set('1.')
    VARS.append(V)
    if 'tkIsoLineValue' in CTK.PREFS:
        V.set(CTK.PREFS['tkIsoLineValue'])
    # -3- min iso
    V = TK.StringVar(win)
    V.set('MIN')
    VARS.append(V)
    if 'tkIsoLineMin' in CTK.PREFS:
        V.set(CTK.PREFS['tkIsoLineMin'])
    # -4- max iso
    V = TK.StringVar(win)
    V.set('MAX')
    VARS.append(V)
    V = TK.StringVar(win)
    V.set('MIN')
    VARS.append(V)
    if 'tkIsoLineMax' in CTK.PREFS:
        V.set(CTK.PREFS['tkIsoLineMax'])

    # - field name -
    B = TTK.Label(Frame, text="Field:")
    B.grid(row=0, column=0, sticky=TK.EW)
    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)

    if ttk is None:
        B = TK.OptionMenu(F, VARS[0], '')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList)
        F.grid(row=0, column=1, columnspan=2, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Extracted field.')
        WIDGETS['field'] = B
    else:
        B = ttk.Combobox(F, textvariable=VARS[0], values=[], state='readonly')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList2)
        F.grid(row=0, column=1, columnspan=2, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Extracted field.')
        WIDGETS['field'] = B

    if CTK.t != []:
        vars = C.getVarNames(CTK.t)
        if (len(vars) > 0):
            if (len(vars[0]) > 0): VARS[0].set(vars[0][0])

    # - nlevels -
    #B = TK.Label(Frame, text="Nlevels:")
    #B.grid(row=1, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=7)
    BB = CTK.infoBulle(parent=B, text='Number of levels.')
    B.grid(row=1, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=7)
    BB = CTK.infoBulle(parent=B, text='Min value.')
    B.grid(row=1, column=1, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=7)
    BB = CTK.infoBulle(parent=B, text='Max value.')
    B.grid(row=1, column=2, sticky=TK.EW)

    # - Draw all isolines -
    B = TTK.Button(Frame, text="Extract isolines", command=drawIsoLines)
    BB = CTK.infoBulle(parent=B, text='Extract isolines.')
    B.grid(row=2, column=0, columnspan=3, sticky=TK.EW)

    # - Value -
    B = TTK.Label(Frame, text="Value:")
    B.grid(row=3, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White')
    B.grid(row=3, column=1, columnspan=2, sticky=TK.EW)

    # - Extract one isoline -
    B = TTK.Button(Frame, text="Extract isoline", command=extractIsoLine)
    B.grid(row=4, column=0, columnspan=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Extract one isoline to CONTOURS.')
示例#14
0
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkCollarMesh', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Generate collar meshes.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=2)
    Frame.columnconfigure(1, weight=2)
    Frame.columnconfigure(2, weight=1)
    Frame.columnconfigure(3, weight=1)
    WIDGETS['frame'] = Frame
    
    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkCollarMesh')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Surface1- 
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -1- Surface2- 
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -2- hauteur de la maille dans la direction j
    V = TK.StringVar(win); V.set('1.e-1'); VARS.append(V)
    if 'tkCollarMeshHj' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshHj'])
    # -3- nombre de layers a ajouter en j
    V = TK.StringVar(win); V.set('10'); VARS.append(V)
    if 'tkCollarMeshNj' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshNj'])
    # -4- nombre d'iteration de lissage dans la direction j
    V = TK.StringVar(win); V.set('50'); VARS.append(V)
    if 'tkCollarMeshSj' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshSj'])
    # -5- hauteur de la maille dans la direction k
    V = TK.StringVar(win); V.set('1.e-1'); VARS.append(V)
    if 'tkCollarMeshHk' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshHk'])
    # -6- nombre de layers a ajouter en k
    V = TK.StringVar(win); V.set('10'); VARS.append(V)
    if 'tkCollarMeshNk' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshNk'])
    # -7- nombre d'iteration de lissage dans la direction k
    V = TK.StringVar(win); V.set('50'); VARS.append(V)
    if 'tkCollarMeshSk' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshSk'])
    # -8- Constraints for surface1
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -9- Constraints for surface2
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    
    # - Surface1 -
    B = TTK.Button(Frame, text="Surf1", command=setSurface1,
                   image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT)
    B.grid(row=0, column=2, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set collar surfaces 1.')
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White')
    B.grid(row=0, column=0, columnspan=2, sticky=TK.EW)
   
    # - Surface2 -
    B = TTK.Button(Frame, text="Surf2", command=setSurface2,
                   image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT)
    B.grid(row=1, column=2, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set collar surfaces 2.')
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White')
    B.grid(row=1, column=0, columnspan=2, sticky=TK.EW)
    
    # - Constraints1 -
    B = TTK.Button(Frame, text="Constr.1", command=setConstraintContour1,
                   image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT)
    B.grid(row=2, column=2, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set constraint contours for Surf1.')
    B = TTK.Entry(Frame, textvariable=VARS[8], background='White')
    B.grid(row=2, column=0,  columnspan=2, sticky=TK.EW)
    
    # - Constraints2 -
    B = TTK.Button(Frame, text="Constr.2", command=setConstraintContour2,
                   image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT)
    B.grid(row=3, column=2, columnspan=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Set constraint contours for Surf2.')
    B = TTK.Entry(Frame, textvariable=VARS[9], background='White')
    B.grid(row=3, column=0,  columnspan=2, sticky=TK.EW)
    
    # - Walk in j -
    B = TTK.Label(Frame, text="j-dir", width=2)
    B.grid(row=4, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=5)
    B.grid(row=4, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Height of each j-layer.')

    B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=5)
    B.grid(row=4, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of j-layers.')

    B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=5)
    B.grid(row=4, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of j-smoothing iterations.')
    
    # - Walk in k -
    B = TTK.Label(Frame, text="k-dir", width=2)
    B.grid(row=5, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[5], background='White', width=5)
    B.grid(row=5, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Height of each k-layer.')

    B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=5)
    B.grid(row=5, column=2, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of k-layers.')

    B = TTK.Entry(Frame, textvariable=VARS[7], background='White', width=5)
    B.grid(row=5, column=3, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of k-smoothing iterations.')
    
    # - Union -
    B = TTK.Button(Frame, text="Union", command=unionCollarMesh)
    B.grid(row=6, column=0, columnspan=2,sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Collar mesh for union assembly.')

    # - Difference -
    B = TTK.Button(Frame, text="Difference", command=differenceCollarMesh)
    B.grid(row=6, column=2, columnspan=2,sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Collar mesh for difference assembly.')
示例#15
0
def createApp(win):

    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkContainers', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Manage container names.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=4)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkContainers')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- GridCoordinates container -
    V = TK.StringVar(win); V.set('GridCoordinates'); VARS.append(V)
    if 'GridCoordinatesContainer' in CTK.PREFS:
        V.set(CTK.PREFS['GridCoordinatesContainer'])

    # -1- FlowSolutionNodes container -
    V = TK.StringVar(win); V.set('FlowSolution'); VARS.append(V)
    if 'FlowSolutionNodesContainer' in CTK.PREFS:
        V.set(CTK.PREFS['FlowSolutionNodesContainer'])
    # -2- FlowSolutionCenters container -
    V = TK.StringVar(win); V.set('FlowSolution#Centers'); VARS.append(V)
    if 'FlowSolutionCentersContainer' in CTK.PREFS:
        V.set(CTK.PREFS['FlowSolutionCentersContainer'])

    # - GridCoordinates -
    B = TTK.Label(Frame, text="GridCoordinates")
    B.grid(row=0, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='This name will be used to find coordinates node in zones.')
    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TK.Entry(F, textvariable=VARS[0], background='White')
        B.grid(sticky=TK.EW)
        F.bind('<Return>', setNames)
        F.grid(row=0, column=1, sticky=TK.EW)
        WIDGETS['GridCoordinates'] = B
    else:
        B = ttk.Combobox(F, textvariable=VARS[0],
                         values=[], state='normal')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateGridCoordinates)
        B.bind('<Return>', setNames)
        F.grid(row=0, column=1, sticky=TK.EW)
        WIDGETS['GridCoordinates'] = B

    # - FlowSolutionNodes -
    B = TTK.Label(Frame, text="FlowSolutionNodes")
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='This name will be used to find solution node in zones.')
    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TK.Entry(F, textvariable=VARS[1], background='White')
        B.grid(sticky=TK.EW)
        F.bind('<Return>', setNames)
        F.grid(row=1, column=1, sticky=TK.EW)
        WIDGETS['FlowSolution'] = B
    else:
        B = ttk.Combobox(F, textvariable=VARS[1],
                         values=[], state='normal')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateFlowSolution)
        B.bind('<Return>', setNames)
        F.grid(row=1, column=1, sticky=TK.EW)
        WIDGETS['FlowSolution'] = B

    # - FlowSolutionCenters -
    B = TTK.Label(Frame, text="FlowSolutionCenters")
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='This name will be used to find centers solution node in zones.')
    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TK.Entry(F, textvariable=VARS[2], background='White')
        B.grid(sticky=TK.EW)
        F.bind('<Return>', setNames)
        F.grid(row=2, column=1, sticky=TK.EW)
        WIDGETS['FlowSolutionCenters'] = B
    else:
        B = ttk.Combobox(F, textvariable=VARS[2],
                         values=[], state='normal')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateFlowSolutionCenters)
        B.bind('<Return>', setNames)
        F.grid(row=2, column=1, sticky=TK.EW)
        WIDGETS['FlowSolutionCenters'] = B

    # - set -
    B = TTK.Button(Frame, text="Set", command=setNames)
    BB = CTK.infoBulle(parent=B, text='Change the container names used by Cassiopee functions.')
    B.grid(row=3, column=0, columnspan=2, sticky=TK.EW)
def createApp(win):
    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE,
                           text='tkMeshInfo', font=CTK.FRAMEFONT, takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Display mesh informations.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event : Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=2)
    WIDGETS['frame'] = Frame
    
    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkMeshInfo')
    WIDGETS['frameMenu'] = FrameMenu

    #- VARS -
    # -0- Npts -
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -1- Var min -
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -2- Var max -
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -3- Selected block name
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -4- Selected block type
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -5- Selected variable
    V = TK.StringVar(win); V.set('CoordinateX'); VARS.append(V)
    # -6- NCells -
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    # -7- NFaces -
    V = TK.StringVar(win); V.set(''); VARS.append(V)
    

    # - selected block name -
    B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=15)
    B.grid(row=0, column=0, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Currently selected zone name.')

    # - selected block type -
    B = TTK.Entry(Frame, textvariable=VARS[4], background='White')
    B.grid(row=0, column=1, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Currently selected zone type.')
    
    # - Npts -
    B = TTK.Label(Frame, text="Npts")
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of points in selection.')
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White',
                  width=10)
    B.grid(row=1, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of points in selection.')

    # - Ncells -
    B = TTK.Label(Frame, text="NCells")
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of cells in selection.')
    B = TTK.Entry(Frame, textvariable=VARS[6], background='White',
                  width=10)
    B.grid(row=2, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of cells in selection.')

    # - NFaces -
    B = TTK.Label(Frame, text="NFaces")
    B.grid(row=3, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of faces in selection.')
    B = TTK.Entry(Frame, textvariable=VARS[7], background='White',
                  width=10)
    B.grid(row=3, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Number of faces in selection.')

    # - Variable -
    B = TTK.Label(Frame, text="Variable: ")
    B.grid(row=4, column=0, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Selected var name.')
    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)

    if ttk is None:
        B = TK.OptionMenu(F, VARS[5], '')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList)
        F.grid(row=4, column=1, columnspan=1, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Selected var name.')
        WIDGETS['variable'] = B
    else: 
        B = ttk.Combobox(F, textvariable=VARS[5], 
                         values=[], state='readonly')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList2)
        F.grid(row=4, column=1, columnspan=1, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Selected var name.')
        WIDGETS['variable'] = B
    
    # - Min de la variable - 
    B = TTK.Label(Frame, text="Min:")
    B.grid(row=5, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Min of variable.')
    B = TTK.Entry(Frame, textvariable=VARS[1], background='White',
                  width=10)
    B.grid(row=5, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Min of variable.')
    
    # - Max de la variable -    
    B = TTK.Label(Frame, text="Max:")
    B.grid(row=6, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Max of variable.')
    B = TTK.Entry(Frame, textvariable=VARS[2], background='White',
                  width=10)
    B.grid(row=6, column=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Max of variable.')
    
    # - update -
    B = TTK.Button(Frame, text="Update info", command=updateInfo)
    B.grid(row=7, column=0, columnspan=2, sticky=TK.EW)
def createApp(win):
    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkCassiopeeSolver',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Export to Cassiopee \nCartesian solver.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=0)
    Frame.columnconfigure(1, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    CTK.addPinMenu(FrameMenu, 'tkCassiopeeSolver')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- Integ -
    V = TK.StringVar(win)
    V.set('steady')
    VARS.append(V)
    # -1- Scheme -
    V = TK.StringVar(win)
    V.set('jameson')
    VARS.append(V)
    # -2- Inititer
    V = TK.StringVar(win)
    V.set('1')
    VARS.append(V)
    # -3- Niter
    V = TK.StringVar(win)
    V.set('10')
    VARS.append(V)
    # -4- Chimera option
    V = TK.StringVar(win)
    V.set('Solver performs hole cutting')
    VARS.append(V)
    # -5- double wall tolerance -
    V = TK.StringVar(win)
    V.set('10.')
    VARS.append(V)
    # -6- delta XRay -
    V = TK.StringVar(win)
    V.set('1.e-10')
    VARS.append(V)
    # -7- tolerance XRay -
    V = TK.StringVar(win)
    V.set('1.e-8')
    VARS.append(V)
    # -8- Cartesian option -
    V = TK.StringVar(win)
    V.set('No Cartesian generation')
    VARS.append(V)
    # -9- Dfar -
    V = TK.StringVar(win)
    V.set('10.')
    VARS.append(V)

    # - Integ -
    B = TTK.Label(Frame, text="Integ")
    B.grid(row=0, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Kind of integration.')
    B = TTK.OptionMenu(Frame, VARS[0], 'steady', 'unsteady', 'gear')
    B.grid(row=0, column=1, sticky=TK.EW)

    # - Scheme -
    B = TTK.Label(Frame, text="Scheme")
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Numerical scheme used.')
    B = TTK.OptionMenu(Frame, VARS[1], 'jameson', 'jameson_ho', 'jameson_ho5',
                       'roe', 'ausmppmiles', 'ausmpup')
    B.grid(row=1, column=1, sticky=TK.EW)

    # - Inititer -
    B = TTK.Label(Frame, text="Inititer")
    B.grid(row=2, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='First iteration of this computation.')
    B = TTK.Entry(Frame, textvariable=VARS[2])
    B.grid(row=2, column=1, sticky=TK.EW)

    # - Niter -
    B = TTK.Label(Frame, text="Niter")
    B.grid(row=3, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B,
                       text='Number of iterations of this computation.')
    B = TTK.Entry(Frame, textvariable=VARS[3])
    B.grid(row=3, column=1, sticky=TK.EW)

    # - Chimera settings -
    B = TTK.OptionMenu(Frame, VARS[4], 'Solver performs hole cutting',
                       'Use OversetHole nodes')
    B.grid(row=4, column=0, columnspan=2, sticky=TK.EW)

    #- XRay settings  -
    B = TTK.Label(Frame, text="XRay delta")
    B.grid(row=5, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[6])
    B.grid(row=5, column=1, sticky=TK.EW)

    # - Cartesian option -
    B = TTK.OptionMenu(Frame, VARS[8], 'Cartesian mesh generation',
                       'No Cartesian generation')
    B.grid(row=6, column=0, columnspan=2, sticky=TK.EW)

    #- Dfar settings  -
    B = TTK.Label(Frame, text="Dfar")
    B.grid(row=7, column=0, sticky=TK.EW)
    B = TTK.Entry(Frame, textvariable=VARS[9])
    B.grid(row=7, column=1, sticky=TK.EW)

    # - Run -
    B = TTK.Button(Frame, text="Run", command=run)
    B.grid(row=8, column=0, sticky=TK.EW)

    # - Write setup file -
    B = TTK.Button(Frame, text="Write setup", command=writeSetupFile)
    B.grid(row=8, column=1, sticky=TK.EW)
示例#18
0
def createApp(win):
    ttk = CTK.importTtk()

    # - Frame -
    Frame = TTK.LabelFrame(win,
                           borderwidth=2,
                           relief=CTK.FRAMESTYLE,
                           text='tkStream',
                           font=CTK.FRAMEFONT,
                           takefocus=1)
    #BB = CTK.infoBulle(parent=Frame, text='Compute stream lines/surfaces.\nCtrl+c to close applet.', temps=0, btype=1)
    Frame.bind('<Control-c>', hideApp)
    Frame.bind('<ButtonRelease-3>', displayFrameMenu)
    Frame.bind('<Enter>', lambda event: Frame.focus_set())
    Frame.columnconfigure(0, weight=1)
    Frame.columnconfigure(1, weight=1)
    Frame.columnconfigure(2, weight=1)
    WIDGETS['frame'] = Frame

    # - Frame menu -
    FrameMenu = TK.Menu(Frame, tearoff=0)
    FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp)
    FrameMenu.add_command(label='Save', command=saveApp)
    FrameMenu.add_command(label='Reset', command=resetApp)
    CTK.addPinMenu(FrameMenu, 'tkStream')
    WIDGETS['frameMenu'] = FrameMenu

    # - VARS -
    # -0- nptsmax -
    V = TK.StringVar(win)
    V.set('2000')
    VARS.append(V)
    if 'tkStreamNpts' in CTK.PREFS:
        V.set(CTK.PREFS['tkStreamNpts'])
    # -1- Var0 for vector -
    V = TK.StringVar(win)
    V.set('CoordinateX')
    VARS.append(V)
    # -2- Var1 for vector -
    V = TK.StringVar(win)
    V.set('CoordinateY')
    VARS.append(V)
    # -3- Var2 for vector -
    V = TK.StringVar(win)
    V.set('CoordinateZ')
    VARS.append(V)

    # - Menu des variables -
    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TK.OptionMenu(F, VARS[1], '')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList1)
        F.grid(row=0, column=0, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Variable 1.')
        WIDGETS['variable1'] = B
    else:
        B = ttk.Combobox(F,
                         textvariable=VARS[1],
                         values=[],
                         state='readonly',
                         width=10)
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList1_2)
        F.grid(row=0, column=0, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Variable 1.')
        WIDGETS['variable1'] = B

    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TK.OptionMenu(F, VARS[2], '')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList2)
        F.grid(row=0, column=1, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Variable 2.')
        WIDGETS['variable2'] = B
    else:
        B = ttk.Combobox(F,
                         textvariable=VARS[2],
                         values=[],
                         state='readonly',
                         width=10)
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList2_2)
        F.grid(row=0, column=1, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Variable 2.')
        WIDGETS['variable2'] = B

    F = TTK.Frame(Frame, borderwidth=0)
    F.columnconfigure(0, weight=1)
    if ttk is None:
        B = TK.OptionMenu(F, VARS[3], '')
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList3)
        F.grid(row=0, column=2, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Variable 3.')
        WIDGETS['variable3'] = B
    else:
        B = ttk.Combobox(F,
                         textvariable=VARS[3],
                         values=[],
                         state='readonly',
                         width=10)
        B.grid(sticky=TK.EW)
        F.bind('<Enter>', updateVarNameList3_2)
        F.grid(row=0, column=2, sticky=TK.EW)
        BB = CTK.infoBulle(parent=B, text='Variable 3.')
        WIDGETS['variable3'] = B

    # - nptsmax -
    B = TTK.Label(Frame, text="nptsmax")
    B.grid(row=1, column=0, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Max number of points of streams.')
    B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=5)
    BB = CTK.infoBulle(parent=B, text='Max number of points of streams.')
    B.grid(row=1, column=1, columnspan=2, sticky=TK.EW)

    # - Stream line -
    B = TTK.Button(Frame, text="Line", command=streamLine)
    B.grid(row=2, column=0, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Draw a stream line.')

    # - Stream ribbon -
    B = TTK.Button(Frame, text="Ribbon", command=streamRibbon)
    B.grid(row=2, column=1, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Draw a stream ribbon.')

    # - Stream surface -
    B = TTK.Button(Frame, text="Surface", command=streamSurface)
    B.grid(row=2, column=2, columnspan=1, sticky=TK.EW)
    BB = CTK.infoBulle(parent=B, text='Draw a stream surface from a BAR.')