def viewFromTop(self): self.viewMode = VIEW_TOP if self.projectionOrtho == False: self.prevRotX = self.camera.rotateX self.prevRotY = self.camera.rotateY self.projectionOrtho = True self.projectionChanged = True self.camera.rotateX = mmMath.deg2Rad(-90.0) self.camera.rotateY = 0 self.camera.rotateZ = 0
def viewFromRight(self): self.viewMode = VIEW_RIGHT if self.projectionOrtho == False: self.prevRotX = self.camera.rotateX self.prevRotY = self.camera.rotateY self.projectionOrtho = True self.projectionChanged = True self.camera.rotateX = 0 self.camera.rotateY = mmMath.deg2Rad(90.0) self.camera.rotateZ = 0
def __init__(self): self.center = numpy.array([0., 0.5, 0.]) self.rotateY = mmMath.deg2Rad(0.) self.rotateX = mmMath.deg2Rad(-15.0) # self.distance = 10. self.distance = 3.1
def handle(self, e): # print yse.Fl_Event.text[e], id(self) # print id(Fl.focus()) returnVal = 0 if e == FL_RELEASE: self.mouseX = Fl.event_x() self.mouseY = Fl.event_y() returnVal = 1 elif e == FL_PUSH: self.mouseX = Fl.event_x() self.mouseY = Fl.event_y() returnVal = 1 elif e == FL_DRAG: self.mouseX = Fl.event_x() self.mouseY = Fl.event_y() mouseDeltaX = self.mouseX - self.mousePrevX mouseDeltaY = self.mouseY - self.mousePrevY button = Fl.event_button() if button == 1: self.camera.rotateY -= mmMath.deg2Rad(mouseDeltaX) if self.viewMode == VIEW_PERSPECTIVE: self.camera.rotateX -= mmMath.deg2Rad(mouseDeltaY) elif button == 2: if self.viewMode != VIEW_TOP: self.camera.center[ 1] += self.camera.distance * .05 * mouseDeltaY / 12.0 elif button == 3: # right self.camera.center[0] -= self.camera.distance * .05 * math.cos( self.camera.rotateY) * mouseDeltaX / 12.0 self.camera.center[ 2] -= self.camera.distance * .05 * -math.sin( self.camera.rotateY) * mouseDeltaX / 12.0 if self.viewMode == VIEW_PERSPECTIVE or self.viewMode == VIEW_TOP: # look self.camera.center[ 0] -= self.camera.distance * .05 * math.sin( self.camera.rotateY) * mouseDeltaY / 12.0 self.camera.center[ 2] -= self.camera.distance * .05 * math.cos( self.camera.rotateY) * mouseDeltaY / 12.0 returnVal = 1 self.redraw() elif e == FL_MOUSEWHEEL: if self.wheelWork: self.camera.distance -= self.camera.distance * .2 * Fl.event_dy( ) / 3.0 # self.camera.distance -= Fl.event_dy() / 3.0 if self.camera.distance < 0.0001: self.camera.distance = 0.0001 self.projectionChanged = True returnVal = 1 self.redraw() # elif e == FL_ENTER: ## Fl.focus(self) # returnVal = 1 # elif e == FL_FOCUS: # returnVal = 1 elif e == FL_KEYUP: if Fl.event_key() == ord('1'): self.viewFromFront() elif Fl.event_key() == ord('2'): self.viewFromRight() elif Fl.event_key() == ord('3'): self.viewFromTop() elif Fl.event_key() == ord('4'): self.viewPerspective() elif Fl.event_key() == ord('6'): self.event_handle(1) elif Fl.event_key() == ord('7'): self.event_handle(2) elif Fl.event_key() == ord('8'): self.event_handle(3) elif Fl.event_key() == ord('9'): self.event_handle(4) elif Fl.event_key() == ord('0'): self.event_handle(5) # elif Fl.event_key()==ord('f'): # self.event_handle(5) # elif Fl.event_key()==ord('g'): # self.event_handle(6) # elif Fl.event_key()==ord('v'): # self.event_handle(7) # elif Fl.event_key()==ord('c'): # self.event_handle(8) # elif Fl.event_key()==ord('d'): # self.event_handle(9) returnVal = 0 self.redraw() self.mousePrevX = self.mouseX self.mousePrevY = self.mouseY # if returnVal == 1: # self.redraw() return returnVal
def __init__(self): self.center = numpy.array([0.,0.5,0.]) self.rotateY = mmMath.deg2Rad(0.) self.rotateX = mmMath.deg2Rad(-15.0) # self.distance = 10. self.distance = 3.1
def handle(self, e): # print yse.Fl_Event.text[e], id(self) # print id(Fl.focus()) returnVal = 0 if e == FL_RELEASE: self.mouseX = Fl.event_x() self.mouseY = Fl.event_y() returnVal = 1 elif e == FL_PUSH: self.mouseX = Fl.event_x() self.mouseY = Fl.event_y() returnVal = 1 elif e == FL_DRAG: self.mouseX = Fl.event_x() self.mouseY = Fl.event_y() mouseDeltaX = self.mouseX - self.mousePrevX mouseDeltaY = self.mouseY - self.mousePrevY button = Fl.event_button() if button == 1: self.camera.rotateY -= mmMath.deg2Rad(mouseDeltaX) if self.viewMode == VIEW_PERSPECTIVE: self.camera.rotateX -= mmMath.deg2Rad(mouseDeltaY) elif button == 2: if self.viewMode != VIEW_TOP: self.camera.center[1] += self.camera.distance*.05 * mouseDeltaY / 12.0 elif button == 3: # right self.camera.center[0] -= self.camera.distance*.05 * math.cos(self.camera.rotateY) * mouseDeltaX / 12.0 self.camera.center[2] -= self.camera.distance*.05 * -math.sin(self.camera.rotateY) * mouseDeltaX / 12.0 if self.viewMode == VIEW_PERSPECTIVE or self.viewMode == VIEW_TOP: # look self.camera.center[0] -= self.camera.distance*.05 * math.sin(self.camera.rotateY) * mouseDeltaY / 12.0 self.camera.center[2] -= self.camera.distance*.05 * math.cos(self.camera.rotateY) * mouseDeltaY / 12.0 returnVal = 1 self.redraw() elif e == FL_MOUSEWHEEL: if self.wheelWork: self.camera.distance -= self.camera.distance*.2 * Fl.event_dy() / 3.0 # self.camera.distance -= Fl.event_dy() / 3.0 if self.camera.distance < 0.0001: self.camera.distance = 0.0001 self.projectionChanged = True returnVal = 1 self.redraw() # elif e == FL_ENTER: ## Fl.focus(self) # returnVal = 1 # elif e == FL_FOCUS: # returnVal = 1 elif e == FL_KEYUP: if Fl.event_key()==ord('1'): self.viewFromFront() elif Fl.event_key()==ord('2'): self.viewFromRight() elif Fl.event_key()==ord('3'): self.viewFromTop() elif Fl.event_key()==ord('4'): self.viewPerspective() elif Fl.event_key()==ord('6'): self.event_handle(1) elif Fl.event_key()==ord('7'): self.event_handle(2) elif Fl.event_key()==ord('8'): self.event_handle(3) elif Fl.event_key()==ord('9'): self.event_handle(4) elif Fl.event_key()==ord('0'): self.event_handle(5) # elif Fl.event_key()==ord('f'): # self.event_handle(5) # elif Fl.event_key()==ord('g'): # self.event_handle(6) # elif Fl.event_key()==ord('v'): # self.event_handle(7) # elif Fl.event_key()==ord('c'): # self.event_handle(8) # elif Fl.event_key()==ord('d'): # self.event_handle(9) returnVal = 0 self.redraw() self.mousePrevX = self.mouseX self.mousePrevY = self.mouseY # if returnVal == 1: # self.redraw() return returnVal