private void Move2D(vtkObject sender, vtkObjectEventArgs e) { if (mouseDownLeft == true) { //Get position int[] pos = renWin.GetInteractor().GetEventPosition(); vtkCoordinate coord = vtkCoordinate.New(); coord.SetCoordinateSystemToDisplay(); coord.SetValue(pos[0], pos[1]); double[] tmp = coord.GetComputedWorldValue(renWin.GetRenderers().GetFirstRenderer()); cam_pos[0] -= (tmp[0] - prev_pos[0]); cam_pos[1] -= (tmp[1] - prev_pos[1]); cam_foc[0] -= (tmp[0] - prev_pos[0]); cam_foc[1] -= (tmp[1] - prev_pos[1]); renWin.GetRenderers().GetFirstRenderer().GetActiveCamera().SetPosition(cam_pos[0], cam_pos[1], cam_pos[2]); renWin.GetRenderers().GetFirstRenderer().GetActiveCamera().SetFocalPoint(cam_foc[0], cam_foc[1], cam_foc[2]); renWin.Render(); } if (mouseDownRight == true) { int[] pos = renWin.GetInteractor().GetEventPosition(); vtkCoordinate coord = vtkCoordinate.New(); coord.SetCoordinateSystemToDisplay(); coord.SetValue(pos[0], pos[1], 0); double[] tmp = coord.GetComputedWorldValue(renWin.GetRenderers().GetFirstRenderer()); position[2] = tmp[0]; position[3] = tmp[1]; line.update(position); renWin.Render(); } }
private void drag_RightDown(vtkObject sender, vtkObjectEventArgs e) { if (mouseDownRight == false) { //Get position int[] pos = renWin.GetInteractor().GetEventPosition(); vtkCoordinate coord = vtkCoordinate.New(); coord.SetCoordinateSystemToDisplay(); coord.SetValue(pos[0], pos[1], 0); double[] tmp = coord.GetComputedWorldValue(renWin.GetRenderers().GetFirstRenderer()); position[0] = (int)tmp[0]; position[1] = (int)tmp[1]; position[2] = (int)tmp[0]; position[3] = (int)tmp[1]; //Create new line object if (has_actor == true) { line.update(position); } else { line = new Rendering.vtkLine(renWin, slice); line.draw(position); } renWin.Render(); has_actor = true; mouseDownRight = true; } }
private void LeftDown2D(vtkObject sender, vtkObjectEventArgs e) { if (mouseDownLeft == false) { //Get position int[] pos = renWin.GetInteractor().GetEventPosition(); vtkCoordinate coord = vtkCoordinate.New(); coord.SetCoordinateSystemToDisplay(); coord.SetValue(pos[0], pos[1], 0); double[] tmp = coord.GetComputedWorldValue(renWin.GetRenderers().GetFirstRenderer()); prev_pos[0] = tmp[0]; prev_pos[1] = tmp[1]; mouseDownLeft = true; } }
private void drag_MouseMove(vtkObject sender, vtkObjectEventArgs e) { if (mouseDownLeft == true) { int[] pos = renWin.GetInteractor().GetEventPosition(); vtkCoordinate coord = vtkCoordinate.New(); coord.SetCoordinateSystemToDisplay(); coord.SetValue(pos[0], pos[1], 0); double[] tmp = coord.GetComputedWorldValue(renWin.GetRenderers().GetFirstRenderer()); position[2] = tmp[0]; position[3] = tmp[1]; line.update(position); renWin.Render(); } }
private void drag_RightUp(vtkObject sender, vtkObjectEventArgs e) { if (mouseDownRight == true) { //Get position int[] pos = renWin.GetInteractor().GetEventPosition(); vtkCoordinate coord = vtkCoordinate.New(); coord.SetCoordinateSystemToDisplay(); coord.SetValue(pos[0], pos[1], 0); double[] tmp = coord.GetComputedWorldValue(renWin.GetRenderers().GetFirstRenderer()); position[2] = (int)tmp[0]; position[3] = (int)tmp[1]; line.update(position); has_actor = true; renWin.Render(); mouseDownRight = false; } }