def getValue(self): try: val = [float(self.texts[i].GetValue()) for i in range(self.dim)] val = Piavca.Quat(Piavca.degToRad(val[0]), Piavca.Vec(val[1], val[2], val[3])) return val except ValueError: return None
def __init__(self, name, filename, app = None, gui_thread=False): Piavca.TimeCallback.__init__(self, name) self.app = app self.gui_thread = gui_thread self.frame = None self.camera_pos = Piavca.Vec() self.camera_pitch = 0.0 self.camera_yaw = 0.0 loadDefaults() self.scripts = {} self.currentscript = {} self.starttimes = {} if pymediapresent or pyaudiopresent: self.soundEngine = SoundEngine() else: self.soundEngine = None inputfile = open(filename, "r") lines = inputfile.readlines() inputfile.close() gui_list = [] for line in lines: line = line.strip() commentpos = line.find("#") if commentpos >= 0: line = line[:commentpos] line = line.split() print line if len(line) <= 0: continue if line[0] == "soundpack": if len(line) == 2: spackname = line[1] else: spackname = line[2] if self.soundEngine != None: self.soundEngine.loadSounds(spackname) else: print "could not load sound packs as audio playback is not supported, please install pyaudio or pymedia" elif line[0] == "expressions": importExpressionNames(line[1]) elif line[0] == "joints": importJointNames(line[1]) elif line[0] == "avatar": print "avatar", line[1] print "start loading avatar" avatar = Piavca.Avatar(line[1]) print "finished loading avatar" i = 2 while i < len(line): if line[i] == "position" or line[i] == "pos": pos = Piavca.Vec(float(line[i+1]), float(line[i+2]), float(line[i+3])) avatar.setRootPosition(pos) i = i+3 elif line[i] == "rotation" or line[i] == "rot": angle = Piavca.degToRad(float(line[i+1])) axis = Piavca.Vec(float(line[i+2]), float(line[i+3]), float(line[i+4])) avatar.setRootOrientation(Piavca.Quat(angle, axis)) i = i+4 i += 1 elif line[0] == "motionpack": if len(line) == 2: mpackname = line[1] else: mpackname = line[2] print "motionpack", mpackname MotionFile.readMotionFile(mpackname) elif line[0] == "script": if len(line) == 2: spackname = line[1] else: spackname = line[2] print "script pack", spackname self.loadScripts(spackname) elif line[0] == "camera": if line[1] == "position": self.camera_pos = Piavca.Vec(float(line[2]), float(line[3]), float(line[4])) elif line[1] == "vert_angle": self.camera_pitch = Piavca.degToRad(float(line[2])) elif line[1] == "horiz_angle": self.camera_yaw = Piavca.degToRad(float(line[2])) #elif line[1] == "rotation": # s self.camera_ori = Piavca.Quat(float(line[2]), Piavca.Vec(float(line[3], float(line[4], lfloat(ine[5])) elif line[0] == "GUI": print "gui" gui_list.append(line[1]) elif line[0] == "gui": print "gui" gui_list.append(line[1]) for gui_name in gui_list: self.GUI(gui_name) self.thisown = 0 Piavca.Core.getCore().registerCallback(self)
def ValueListToQuat(valuelist): quat = [float(x) for x in valuelist] quat = Piavca.Quat(Piavca.degToRad(quat[0]), Piavca.Vec(quat[1], quat[2], quat[3])) return quat
import Piavca #Piavca.PiavcaGlut.init(Piavca.Core.getCorePointerAsLong()) import Piavca.JointNames Piavca.JointNames.loadDefaults() import Piavca.FreeCameraCanvas import wx from wx.lib.dialogs import * from wx import glcanvas app = Piavca.getWXApp() canvas = app.showWindows(canvastype = Piavca.FreeCameraCanvas.FreeCameraCanvas) canvas.setPosition(Piavca.Vec(0.0, 100, 33)) canvas.setPitch(Piavca.degToRad(-90.0)) app.getCanvas().setClearColour(1.0, 1.0, 1.0) if len(sys.argv) > 1: path = sys.argv[1] else: dialog_return = openFileDialog () path = dialog_return.paths[0] dirname = os.path.dirname(path) os.chdir(dirname) try: Piavca.JointNames.importJointNames("Joints.txt") except IOError:
import Piavca #Piavca.PiavcaGlut.init(Piavca.Core.getCorePointerAsLong()) import Piavca.JointNames Piavca.JointNames.loadDefaults() import Piavca.FreeCameraCanvas import wx from wx.lib.dialogs import * from wx import glcanvas app = Piavca.getWXApp() canvas = app.showWindows(canvastype=Piavca.FreeCameraCanvas.FreeCameraCanvas) canvas.setPosition(Piavca.Vec(0.0, 100, 33)) canvas.setPitch(Piavca.degToRad(-90.0)) app.getCanvas().setClearColour(1.0, 1.0, 1.0) if len(sys.argv) > 1: path = sys.argv[1] else: dialog_return = openFileDialog() path = dialog_return.paths[0] dirname = os.path.dirname(path) os.chdir(dirname) try: Piavca.JointNames.importJointNames("Joints.txt") except IOError:
def __init__(self, name, filename, app=None, gui_thread=False): Piavca.TimeCallback.__init__(self, name) self.app = app self.gui_thread = gui_thread self.frame = None self.camera_pos = Piavca.Vec() self.camera_pitch = 0.0 self.camera_yaw = 0.0 loadDefaults() self.scripts = {} self.currentscript = {} self.starttimes = {} if pymediapresent or pyaudiopresent: self.soundEngine = SoundEngine() else: self.soundEngine = None inputfile = open(filename, "r") lines = inputfile.readlines() inputfile.close() gui_list = [] for line in lines: line = line.strip() commentpos = line.find("#") if commentpos >= 0: line = line[:commentpos] line = line.split() print line if len(line) <= 0: continue if line[0] == "soundpack": if len(line) == 2: spackname = line[1] else: spackname = line[2] if self.soundEngine != None: self.soundEngine.loadSounds(spackname) else: print "could not load sound packs as audio playback is not supported, please install pyaudio or pymedia" elif line[0] == "expressions": importExpressionNames(line[1]) elif line[0] == "joints": importJointNames(line[1]) elif line[0] == "avatar": print "avatar", line[1] print "start loading avatar" avatar = Piavca.Avatar(line[1]) print "finished loading avatar" i = 2 while i < len(line): if line[i] == "position" or line[i] == "pos": pos = Piavca.Vec(float(line[i + 1]), float(line[i + 2]), float(line[i + 3])) avatar.setRootPosition(pos) i = i + 3 elif line[i] == "rotation" or line[i] == "rot": angle = Piavca.degToRad(float(line[i + 1])) axis = Piavca.Vec(float(line[i + 2]), float(line[i + 3]), float(line[i + 4])) avatar.setRootOrientation(Piavca.Quat(angle, axis)) i = i + 4 i += 1 elif line[0] == "motionpack": if len(line) == 2: mpackname = line[1] else: mpackname = line[2] print "motionpack", mpackname MotionFile.readMotionFile(mpackname) elif line[0] == "script": if len(line) == 2: spackname = line[1] else: spackname = line[2] print "script pack", spackname self.loadScripts(spackname) elif line[0] == "camera": if line[1] == "position": self.camera_pos = Piavca.Vec(float(line[2]), float(line[3]), float(line[4])) elif line[1] == "vert_angle": self.camera_pitch = Piavca.degToRad(float(line[2])) elif line[1] == "horiz_angle": self.camera_yaw = Piavca.degToRad(float(line[2])) #elif line[1] == "rotation": # s self.camera_ori = Piavca.Quat(float(line[2]), Piavca.Vec(float(line[3], float(line[4], lfloat(ine[5])) elif line[0] == "GUI": print "gui" gui_list.append(line[1]) elif line[0] == "gui": print "gui" gui_list.append(line[1]) for gui_name in gui_list: self.GUI(gui_name) self.thisown = 0 Piavca.Core.getCore().registerCallback(self)