Ejemplo n.º 1
0
	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
Ejemplo n.º 2
0
	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)
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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:
Ejemplo n.º 6
0
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:
Ejemplo n.º 7
0
    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)