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 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 CreateViewportBorder(vtkRenderer renderer, double[] color) { ModelLoaded = false; // points start at upper right and proceed anti-clockwise vtkPoints points = vtkPoints.New(); points.SetNumberOfPoints(4); points.InsertPoint(0, 1, 1, 0); points.InsertPoint(1, 1e-3, 1, 0); points.InsertPoint(2, 1e-3, 1e-3, 0); points.InsertPoint(3, 1, 1e-3, 0); // create cells, and lines vtkCellArray cells = vtkCellArray.New(); cells.Initialize(); vtkPolyLine lines = vtkPolyLine.New(); lines.GetPointIds().SetNumberOfIds(5); for (int i = 0; i < 4; ++i) { lines.GetPointIds().SetId(i, i); } lines.GetPointIds().SetId(4, 0); cells.InsertNextCell(lines); // now make tge polydata and display it vtkPolyData poly = vtkPolyData.New(); poly.Initialize(); poly.SetPoints(points); poly.SetLines(cells); // use normalized viewport coordinates since // they are independent of window size vtkCoordinate coordinate = vtkCoordinate.New(); coordinate.SetCoordinateSystemToNormalizedViewport(); vtkPolyDataMapper2D mapper = vtkPolyDataMapper2D.New(); mapper.SetInput(poly); mapper.SetTransformCoordinate(coordinate); vtkActor2D actor = vtkActor2D.New(); actor.SetMapper(mapper); actor.GetProperty().SetColor(color[0], color[1], color[2]); // line width should be at least 2 to be visible at extremes actor.GetProperty().SetLineWidth((float)2.0); // Line Width renderer.AddViewProp(actor); }
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; } }
private void DrawTest() { vtkProp3D prop3D; vtkActor actor = vtkActor.New(); vtkActor2D actor2D = vtkActor2D.New(); vtkLODActor lODActor = vtkLODActor.New(); vtkLODProp3D lodProp3d = vtkLODProp3D.New(); vtkCamera camera = vtkCamera.New(); vtkCameraActor cameraActor = vtkCameraActor.New(); vtkLight light = vtkLight.New(); vtkLightActor lightActor = vtkLightActor.New(); vtkPicker picker = vtkPicker.New(); vtkPointPicker pointPicker = vtkPointPicker.New(); vtkCellPicker cellPicker = vtkCellPicker.New(); vtkAreaPicker areaPicker = vtkAreaPicker.New(); vtkAssembly assembly = vtkAssembly.New(); vtkConeSource coneSource = vtkConeSource.New(); vtkCone cone = vtkCone.New(); vtkArcSource arcSource = vtkArcSource.New(); vtkLineSource lineSource = vtkLineSource.New(); vtkPointSource pointSource = vtkPointSource.New(); vtkPolyData polyData = vtkPolyData.New(); vtkArrayReader arrayReader = vtkArrayReader.New(); vtkArrayDataReader arrayDataReader = vtkArrayDataReader.New(); vtkArrayWriter arrayWriter = vtkArrayWriter.New(); vtkRenderWindowInteractor renderWindowInteractor = vtkRenderWindowInteractor.New(); vtkRenderWindowInteractor3D renderWindowInteractor3D = vtkRenderWindowInteractor3D.New(); vtkInteractorStyle interactorStyle = vtkInteractorStyle.New(); vtkInteractorStyle3D interactorStyle3D = vtkInteractorStyle3D.New(); vtkInteractorStyleFlight interactorStyleFlight = vtkInteractorStyleFlight.New(); vtkInteractorStyleTrackball interactorStyleTrackball = vtkInteractorStyleTrackball.New(); vtkVolume volume = vtkVolume.New(); vtkVolumeMapper volumeMapper; vtkSmartVolumeMapper smartVolumeMapper = vtkSmartVolumeMapper.New(); vtkUnstructuredGridVolumeMapper unstructuredGridVolumeMapper; vtkUnstructuredGridVolumeRayCastMapper unstructuredGridVolumeRayCastMapper = vtkUnstructuredGridVolumeRayCastMapper.New(); vtkGPUVolumeRayCastMapper gPUVolumeRayCastMapper = vtkGPUVolumeRayCastMapper.New(); vtkVolumeRayCastMapper volumeRayCastMapper = vtkVolumeRayCastMapper.New(); vtkFixedPointVolumeRayCastMapper pointVolumeRayCastMapper = vtkFixedPointVolumeRayCastMapper.New(); vtkOpenGLGPUVolumeRayCastMapper openGLGPUVolumeRayCastMapper = vtkOpenGLGPUVolumeRayCastMapper.New(); vtkVolumeProperty volumeProperty = vtkVolumeProperty.New(); vtkTexture texture = vtkTexture.New(); vtkCoordinate coordinate = vtkCoordinate.New(); vtkImageData vtkImage = vtkImageData.New(); vtkBMPReader bMPReader = vtkBMPReader.New(); vtkJPEGReader jPEGReader = vtkJPEGReader.New(); vtkPNGReader pNGReader = vtkPNGReader.New(); vtkTIFFReader tIFFReader = vtkTIFFReader.New(); vtkOBJReader oBJReader = vtkOBJReader.New(); vtkContourFilter contourFilter = vtkContourFilter.New(); vtkSynchronizedTemplates2D synchronizedTemplates2D = vtkSynchronizedTemplates2D.New(); vtkSynchronizedTemplates3D synchronizedTemplates3D = vtkSynchronizedTemplates3D.New(); vtkSynchronizedTemplatesCutter3D synchronizedTemplatesCutter3D = vtkSynchronizedTemplatesCutter3D.New(); vtkImageMapper imageMapper = vtkImageMapper.New(); vtkImageSliceMapper imageSliceMapper = vtkImageSliceMapper.New(); vtkImageResliceMapper imageResliceMapper = vtkImageResliceMapper.New(); vtkStructuredGridReader structuredGridReader = vtkStructuredGridReader.New(); vtkRungeKutta4 integ = vtkRungeKutta4.New(); vtkStreamTracer streamer = vtkStreamTracer.New(); vtkTubeFilter streamTube = vtkTubeFilter.New(); vtkRuledSurfaceFilter ruledSurfaceFilter = vtkRuledSurfaceFilter.New(); vtkPlane plane = vtkPlane.New(); vtkCutter cutter = new vtkCutter(); vtkMergeFilter mergeFilter = vtkMergeFilter.New(); vtkImageLuminance imageLuminance = vtkImageLuminance.New(); vtkImageDataGeometryFilter imageDataGeometryFilter = vtkImageDataGeometryFilter.New(); vtkWarpScalar warpScalar = vtkWarpScalar.New(); vtkWarpVector warpVector = vtkWarpVector.New(); }