X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=examples%2Fpymeshviewer.py;h=b22e6c1432c34af01a98ca1f6fd4403b45c4dc93;hb=a678c04bd9942eb915a1d07caac747ef5d0f8556;hp=6aa79ac31f5a01e2da065c76f2e24c4d20ea73ed;hpb=a558a16fb23f8a8e1c43d327efcd9bb3239a8071;p=meshio%2Fpymeshio.git diff --git a/examples/pymeshviewer.py b/examples/pymeshviewer.py index 6aa79ac..b22e6c1 100644 --- a/examples/pymeshviewer.py +++ b/examples/pymeshviewer.py @@ -1,20 +1,35 @@ #!/usr/bin/env python # coding: utf-8 +""" +this script require pyOpenGL, PIL, numpy and Togl(tck/tk). + +Togl install on Windows +======================= + +* download Togl2.0-8.4-Windows.zip +* copy Togl2.0-8.4-Windows/lib/Togl2.0 to C:/PythonXX/tcl/Togl2.0 +""" import sys import os -import tkinter -import tkinter.filedialog +try: + import tkinter + import tkinter.filedialog as tkinter_filedialog +except ImportError as e: + import Tkinter as tkinter + import tkFileDialog as tkinter_filedialog import togl import opengl import opengl.rokuro import mqobuilder import pmdbuilder +import pmxbuilder class Frame(tkinter.Frame): def __init__(self, width, height, master=None, **kw): - super(Frame, self).__init__(master, **kw) + #super(Frame, self).__init__(master, **kw) + tkinter.Frame.__init__(self, master, **kw) self.master.title('pymeshio viewer') self.current='.' # setup menu @@ -37,11 +52,12 @@ class Frame(tkinter.Frame): self.bind('', lambda e: self.glworld.onWheel(-e.delta) and self.glwidget.onDraw()) def onOpen(self): - path=tkinter.filedialog.askopenfilename( + path=tkinter_filedialog.askopenfilename( filetypes=[ - ('poloygon model files', '*.mqo;*.pmd'), + ('poloygon model files', '*.mqo;*.pmd;*.pmx'), ], initialdir=self.current) + self.current=os.path.dirname(path) self.load(path) def load(self, path): @@ -62,6 +78,10 @@ class Frame(tkinter.Frame): return mqobuilder.build(path) elif path.lower().endswith(".pmd"): return pmdbuilder.build(path) + elif path.lower().endswith(".pmx"): + return pmxbuilder.build(path) + else: + print("unknown file format: {0}".format(path)) def onKeyDown(self, event): key=event.keycode