private void MoveToolStripMenuItem_Click(object sender, EventArgs e) { if (manager.getSelectedModels().Count != 0) { CLoadedObject obj = manager.getSelectedModels()[0]; ControlModeChanger.getInstance().changeMode(new ModelMoveMode(obj)); } }
public static ControlModeChanger getInstance() { if (__instance == null) { __instance = new ControlModeChanger(); } return(__instance); }
private void cancelButton_Click(object sender, EventArgs e) { this.target.vx = pre_vx; this.target.vy = pre_vy; this.target.vz = pre_vz; this.target.x_dir = pre_rotate_x; this.target.y_dir = pre_rotate_y; this.target.z_dir = pre_rotate_z; ControlModeChanger.getInstance().changeMode(new NormalMode()); }
override public void MouseClick(ModelManager model_manager, CCamera camera, Control control, MouseEventArgs e) { this.target_camera = camera; if (e.Button == MouseButtons.Middle) { is_mid_mouse_on = true; mouse_old_x = e.X; mouse_old_y = e.Y; } else if (e.Button == MouseButtons.Left) { model_manager.ClearSelectModel(); Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glPushMatrix(); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glPushMatrix(); int[] viewport = new int[4]; Gl.glViewport(0, 0, control.Width, control.Height); Gl.glGetIntegerv(Gl.GL_VIEWPORT, viewport); TransformMatrixes trans = new TransformMatrixes(); List <SelectionData> picks; try { picks = Selection.Pick <CLoadedObject>(model_manager.getSelectionDict(), new double[] { e.X, control.Height - e.Y - 1 }, new double[] { 1, 1 }, camera, viewport, false, out trans); } catch (Exception except) { return; } SelectionData selected = Selection.GetNearest(picks); if (selected != null) { model_manager.SelectModel(selected.names[0]); // (selected.item as CLoadedObject).changeState(new Jusin.ObjectModel.State.ModelStateSelected()); ControlModeChanger.getInstance().changeMode(new NormalModeSelectedModel()); } else { ControlModeChanger.getInstance().changeMode(new NormalMode()); } Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glPopMatrix(); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glPopMatrix(); control.Invalidate(); } }
private void okButton_Click(object sender, EventArgs e) { //targetの値をいったんもとに戻す。その前に移動先となる現在の値を別に記憶しておく float vx = this.vx; float vy = this.vy; float vz = this.vz; float r_x = this.r_x; float r_y = this.r_y; float r_z = this.r_z; float maged = this.maged; //元に戻す(undo(),redo()の実装のため) this.target.vx = pre_vx; this.target.vy = pre_vy; this.target.vz = pre_vz; this.target.x_dir = pre_rotate_x; this.target.y_dir = pre_rotate_y; this.target.z_dir = pre_rotate_z; this.target.maged = pre_mag; MainCommandManager.getInstance().execute(new MoveCommand(vx, vy, vz, r_x, r_y, r_z, maged, target)); ControlModeChanger.getInstance().changeMode(new NormalMode()); }
private void topToolStripMenuItem_Click(object sender, EventArgs e) { CLoadedObject obj = manager.getSelectedModels().Count != 0 ? manager.getSelectedModels()[0] : null; CameraControl.setToTop(ControlModeChanger.getInstance().getCurrentMode().getTargetCamera(), obj); }