def changerot(self, i, v): #XXX NOTE / API TODO: exceptions in qt slots (like this) are now eaten silently #.. apparently they get shown upon viewer exit. must add some qt exc thing somewhere #print "pos index %i changed to: %f" % (i, v) ent = self.active if ent is not None: qquat = ent.placeable.Orientation euler = list(quat_to_euler((qquat.x(), qquat.y(), qquat.z(), qquat.scalar()))) if not self.float_equal(euler[i],v): euler[i] = v ort = euler_to_quat(euler) #print euler, ort #print euler, ort ort = Quat(ort[3], ort[0], ort[1], ort[2]) ent.placeable.Orientation = ort ent.network.Orientation = ort if not self.dragging: r.networkUpdate(ent.id) self.modified = True
def changerot(self, i, v): #XXX NOTE / API TODO: exceptions in qt slots (like this) are now eaten silently #.. apparently they get shown upon viewer exit. must add some qt exc thing somewhere #print "pos index %i changed to: %f" % (i, v) ent = self.active if ent is not None: qquat = ent.placeable.Orientation euler = list( quat_to_euler( (qquat.x(), qquat.y(), qquat.z(), qquat.scalar()))) if not self.float_equal(euler[i], v): euler[i] = v ort = euler_to_quat(euler) #print euler, ort #print euler, ort ort = Quat(ort[3], ort[0], ort[1], ort[2]) ent.placeable.Orientation = ort ent.network.Orientation = ort if not self.dragging: r.networkUpdate(ent.id) self.modified = True
def update_rotvals(self, rot): qrot = list((rot.x(), rot.y(), rot.z(), rot.scalar())) euler = quat_to_euler(qrot) self.mainTab.rot_x.setValue(euler[0]) self.mainTab.rot_y.setValue(euler[1]) self.mainTab.rot_z.setValue(euler[2])