private static void InputKeyPress(Event e) { // We added the listener to EventType.KeyPress so it should be a KeyboardEvent if (e.IsKeyboardEvent() && e.As<KeyboardEvent>().KeyCode == 13) { Save(); } }
void onDocumentMouseUp(Event arg) { if (!IsActive) return; MouseEvent e = arg.As<MouseEvent>(); e.PreventDefault(); controls.enabled = true; if (intersected != null) { plane.position.copy(intersected.position); selected = null; } Container.Style.Cursor = Cursor.Auto; }
void onDocumentMouseMove(Event arg) { if (!IsActive) return; MouseEvent e = arg.As<MouseEvent>(); e.PreventDefault(); SetMousePos(e); raycaster.setFromCamera(mouse, camera); THREE.Intersection[] intersects; if (selected != null ) { intersects = raycaster.intersectObject(plane); selected.position.copy(intersects[0].point.sub(offset)); return; } intersects = raycaster.intersectObjects(allObjects); if (intersects.Length > 0) { THREE.Intersection i = intersects[0]; THREE.Mesh m = i.Object as THREE.Mesh; if (m!=null && m!= intersected) { intersected = m; plane.position.copy(intersected.position); plane.lookAt(camera.position); } Container.Style.Cursor = Cursor.Pointer; } else { intersected = null; Container.Style.Cursor = Cursor.Auto; } }
void onDocumentMouseDown(Event arg) { if (!IsActive) return; MouseEvent e = arg.As<MouseEvent>(); e.PreventDefault(); THREE.Vector3 vector = new THREE.Vector3(mouse.x, mouse.y, 0.5).unproject(camera); var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize()); THREE.Intersection[] intersects = raycaster.intersectObjects(allObjects); if (intersects.Length > 0 ) { THREE.Intersection interSec = intersects[0]; THREE.Mesh m = interSec.Object as THREE.Mesh; if (m != null) { controls.enabled = false; selected = m; intersects = raycaster.intersectObject(plane); offset.copy(interSec.point).sub(plane.position); Container.Style.Cursor = Cursor.Move; } } }
public void HandleKeyUp(Event e) { this.currentlyPressedKeys[e.As<KeyboardEvent>().KeyCode] = false; }
public void HandleKeyDown(Event e) { this.currentlyPressedKeys[e.As<KeyboardEvent>().KeyCode] = true; }
public void SwitchCase(Event arg) { KeyboardEvent e = arg.As<KeyboardEvent>(); switch (e.KeyCode) { case 81: // Q controls.setSpace(controls.space == "local" ? "world" : "local"); break; case 87: // W controls.setMode("translate"); break; case 69: // E controls.setMode("rotate"); break; case 82: // R controls.setMode("scale"); break; case 187: case 107: // +,=,num+ controls.setSize(controls.size + 0.1); break; case 189: case 10: // -,_,num- controls.setSize(Math.Max(controls.size - 0.1, 0.1)); break; } }