Exemple #1
0
        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();
            }
        }
Exemple #2
0
        private void SelectPointClick(vtkObject sender, vtkObjectEventArgs e)
        {
            if (ModelLoaded == true && SelectionMode == true)
            {
                int[]          clickPos    = Inter.GetEventPosition();
                vtkPointPicker PointPicker = vtkPointPicker.New();
                PointPicker.SetTolerance(0.05);
                PointPicker.Pick(clickPos[0], clickPos[1], 0, Viewport);

                vtkPoints points = Faces.GetPoints();

                double[] PickPosition = PointPicker.GetPickPosition();

                for (int j = 0; j < points.GetNumberOfPoints(); j++)
                {
                    if (Math.Abs(points.GetPoint(j)[0] - PickPosition[0]) < 1e-6 &&
                        Math.Abs(points.GetPoint(j)[1] - PickPosition[1]) < 1e-6 &&
                        Math.Abs(points.GetPoint(j)[2] - PickPosition[2]) < 1e-6)
                    {
                        SelectionPoints.InsertNextPoint(PickPosition[0], PickPosition[1], PickPosition[2]);
                        break;
                    }
                }

                SelectionGlyph = vtkGlyph3D.New();
                SelectionGlyph.SetInput(SelectionPolyData);
                SelectionGlyph.SetSourceConnection(SelectionSphere.GetOutputPort());
                SelectionMapper.SetInputConnection(SelectionGlyph.GetOutputPort());
                SelectionActor.SetMapper(SelectionMapper);

                // Refresh Viewport
                Refresh();
            }
        }
Exemple #3
0
 private void pick_LeftUp(vtkObject sender, vtkObjectEventArgs e)
 {
     if (mouseDownLeft == true)
     {
         mouseDownLeft = false;
     }
 }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
        /// <summary>
        /// Highlights pieces
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void MotionCallback(vtkObject sender, vtkObjectEventArgs e)
        {
            //Make sure the piece isn't in an animation
            //durring a click or bad things happen
            if (!in_piece_rotation)
            {
                vtkRenderWindowInteractor iren   = renderWindowControl1.RenderWindow.GetInteractor();
                vtkInteractorStyleSwitch  istyle = (vtkInteractorStyleSwitch)iren.GetInteractorStyle();

                //return if the user is performing interaction
                if (istyle.GetState() != 0)
                {
                    return;
                }

                int[] pos = iren.GetEventPosition();
                int   x   = pos[0];
                int   y   = pos[1];

                vtkRenderer ren1 = renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer();
                ren1.SetDisplayPoint(x, y, ren1.GetZ(x, y));
                ren1.DisplayToWorld();
                double [] pt  = ren1.GetWorldPoint();
                double    val = puzzle.SetPoint(pt[0], pt[1], pt[2]);
                if (!LastValExists || val != LastVal)
                {
                    renderWindowControl1.RenderWindow.Render();
                    LastVal       = val;
                    LastValExists = true;
                }
            }
        }
Exemple #6
0
        protected override void OnMouseLeftClick(vtkObject sender, vtkObjectEventArgs e)
        {
            int[] pos = _interactor.GetEventPosition();
            int   x   = pos[0];
            int   y   = pos[1];

            double[] positionValues = ConvertPixelPositionToGraphValues(x, y);

            if (positionValues != null)
            {
                this.Log.Info("Mouse Clicked At: bottom x: {0:F2}, left y: {1:F2}, top x: {2:F2}, right y: {3:F2}",
                              positionValues[0], positionValues[1], positionValues[2], positionValues[3]);
            }

            if (CheckLeftAxis(x, y))
            {
                return;
            }
            if (CheckBottomAxis(x, y))
            {
                return;
            }
            if (CheckRightAxis(x, y))
            {
                return;
            }
            if (CheckTopAxis(x, y))
            {
                return;
            }
        }
Exemple #7
0
        /// <summary>
        /// Event fired when the graph selection is changed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void view_SelectionChangedEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            //Get the selection
            vtkDataRepresentation dr   = view.GetRepresentation(0);
            vtkAnnotationLink     al   = dr.GetAnnotationLink();
            vtkSelection          sel  = al.GetCurrentSelection();
            vtkAbstractArray      arr  = null;
            vtkSelectionNode      node = sel.GetNode(0);

            if (null != node)
            {
                arr = node.GetSelectionList();
            }

            vtkIdTypeArray arr1 = (vtkIdTypeArray)arr;

            // Short circuit if nothing is selected...
            int numSelected = (int)arr1.GetNumberOfTuples();

            if (0 == numSelected)
            {
                return;
            }

            vtkStringArray arr2 = ((vtkStringArray)g.GetVertexData().GetAbstractArray("label"));

            //get a pseudo random name if more than one are selected
            string name = arr2.GetValue(
                (int)arr1.GetValue(System.DateTime.Now.Millisecond % numSelected));

            //reset the small arrayList
            arrListSmall = new System.Collections.ArrayList();
            int hops;

            try
            {
                hops = System.Convert.ToInt32(toolStripTextBox3.Text);
            }
            catch (Exception)
            {
                hops = 1;
            }

            toolStripTextBox1.Text = name;
            toolStripTextBox1.Invalidate();
            this.Update();

            //Start the loading graphic and add another renderer on top for the spinning logo
            vtkRenderWindow win = this.renderWindowControl1.RenderWindow;

            win.AddRenderer(logoRenderer);
            win.Render();
            this.webBrowser1.Url = new Uri("http://en.wikipedia.org/wiki/" + name.Replace(" ", "_"));
            //Start the work
            addLinks(g, name, hops);
            //Remove the spinning logo after the work is done
            win.RemoveRenderer(logoRenderer);
            win.Render();
        }
Exemple #8
0
 { ///<summary>execute command</summary>
     public static void Execute(vtkObject sender, vtkObjectEventArgs e)
     {
         foo = renWin.GetEventPending();
         if ((foo) != 0)
         {
             renWin.SetAbortRender((int)1);
         }
     }
Exemple #9
0
 public void OnUnitWidgetPlaneParametersChanged(vtkObject sender, vtkObjectEventArgs e)
 {
     widgetUpdateLock = true;
     Origin           = new Vector(CurrentCutUnit.Origin);
     Normal           = new Vector(CurrentCutUnit.Normal);
     OnPlaneWidgetParameterChanged?.Invoke(this, new EventArgs());
     widgetUpdateLock = false;
 }
Exemple #10
0
 /// <summary>
 /// Callback function for renWin.AbortCheckEvt
 /// </summary>
 public static void TkCheckAbort(vtkObject sender, vtkObjectEventArgs e)
 {
     foo = renWin.GetEventPending();
     if ((foo) != 0)
     {
         renWin.SetAbortRender(1);
     }
 }
 public void angleEndInteractionEvt(vtkObject sender, vtkObjectEventArgs e)
 {
     // Do stuff
     if (EndInteractionEvt != null)
     {
         EndInteractionEvt(sender, e);
     }
 }
Exemple #12
0
 /// <summary>
 /// 被选中对象高光
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void mystle_OnObjectsSelected(vtkObject sender, vtkObjectEventArgs e)
 {
     foreach (var item in m_actorDict.Keys)
     {
         item.UpdateSelectedColor();
     }
     m_renderWinCtrl.Invalidate();
 }
Exemple #13
0
 private void OnWidgetUpdate(vtkObject sender, vtkObjectEventArgs e)
 {
     double[] origin = planeWidget.GetOrigin();
     plane.SetOrigin(origin[0], origin[1], origin[2]);
     double[] normal = planeWidget.GetNormal();
     plane.SetNormal(normal[0], normal[1], normal[2]);
     Render();
     OnPlaneParameterChanged?.Invoke(sender, e);
 }
 public void Execute(IntPtr caller, uint eventId, IntPtr callData)
 {
     if (null != this.EventImpl)
     {
         bool      flag;
         vtkObject caller2 = (vtkObject)Methods.CreateWrappedObject(0u, 4294967295u, 4294967208u, caller, true, out flag);
         this.EventImpl(this.Sender, new vtkObjectEventArgs(caller2, eventId, callData));
     }
 }
 // Set up a check for aborting rendering.
 // Create a Python function to create the text for the text mapper used
 // to display the results of picking.
 public static void CheckAbort(vtkObject caller, uint eventId,
     object clientData, IntPtr callData)
 {
     if (caller is vtkRenderWindow)
     {
         vtkRenderWindow renWin = (vtkRenderWindow)caller;
         renWin.SetAbortRender(1);
     }
 }
Exemple #16
0
        /// <summary>
        /// Refresh l'affichage de la position de la caméra
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void _interactor_RenderEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            double x, y, z;

            x = Math.Round(Camera.GetPosition()[0], 1);
            y = Math.Round(Camera.GetPosition()[1], 1);
            z = Math.Round(Camera.GetPosition()[2], 1);
            String s = String.Format("Position : {0},{1},{2}", x, y, z);

            lblStatus.Text = s;
        }
Exemple #17
0
        void outputWindow_ErrorEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            string errorString = "ERROR: unknown";

            if (e.CallData != IntPtr.Zero)
            {
                errorString = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(e.CallData);
            }

            throw new Exception(errorString);
        }
        public vtkObjectEventRelay(vtkObject sender, uint eventId) : base(IntPtr.Zero, true, false)
        {
            uint   num        = 0u;
            uint   num2       = 4294967295u;
            uint   num3       = 0u;
            IntPtr rawCppThis = vtkObjectEventRelay.vtkObjectEventRelay_New(ref num, ref num2, ref num3);

            base.SetCppThis(rawCppThis, true, num != 0u && num3 >= 2u);
            this.Sender  = sender;
            this.EventId = eventId;
        }
        object ICustomMarshaler.MarshalNativeToManaged(IntPtr pNativeData)
        {
            bool   flag;
            object obj = Methods.CreateWrappedObject(0u, 4294967295u, 4294967208u, pNativeData, true, out flag);

            if (obj == null)
            {
                Console.Error.WriteLine("error: *DID NOT FIND* o in MarshalNativeToManaged");
                obj = new vtkObject(pNativeData, false, false);
            }
            return(obj);
        }
        static void CheckAbort(vtkObject obj, uint eventId, Object data, IntPtr clientdata)
        {
            vtkRenderWindow renWin = vtkRenderWindow.SafeDownCast(obj);

            if (null != renWin)
            {
                if (renWin.GetEventPending() != 0)
                {
                    renWin.SetAbortRender(1);
                }
            }
        }
Exemple #21
0
        /// <summary>
        /// Open the explorer window of the selected file
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void view_SelectionChangedEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            // Get the selection
            //
            vtkDataRepresentation dr   = view.GetRepresentation(0);
            vtkAnnotationLink     al   = dr.GetAnnotationLink();
            vtkSelection          sel  = al.GetCurrentSelection();
            vtkStringArray        arr1 = null;
            vtkSelectionNode      node = sel.GetNode(0);

            if (null != node)
            {
                arr1 = (vtkStringArray)node.GetSelectionList();
            }

            string path = "";

            if (null != arr1)
            {
                // If it is a directory open it, if not cut off the end
                // and open the directory
                //
                if (Directory.Exists(arr1.GetValue(0)))
                {
                    path = arr1.GetValue(0);
                }
                else
                {
                    path = Regex.Replace(arr1.GetValue(0),
                                         "\\\\[^\\\\]+\\.[^\\\\]*$", "");
                }
            }

            if (path != SelectedPath)
            {
                SelectedPath = path;

                System.Diagnostics.Debug.WriteLine(SelectedPath);

                if ("" != SelectedPath)
                {
                    //Create the process
                    System.Diagnostics.ProcessStartInfo psi =
                        new System.Diagnostics.ProcessStartInfo("cmd.exe",
                                                                "/C explorer " + SelectedPath);
                    psi.CreateNoWindow  = true;
                    psi.UseShellExecute = false;
                    System.Diagnostics.Process p =
                        System.Diagnostics.Process.Start(psi);
                }
            }
        }
Exemple #22
0
        /// <summary>
        /// Called when a key is pressed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CharCallback(vtkObject sender, vtkObjectEventArgs e)
        {
            vtkRenderWindowInteractor iren = renderWindowControl1.RenderWindow.GetInteractor();
            sbyte keycode = iren.GetKeyCode();

            //if the keycode is not M
            if (keycode != 109 && keycode != 77)
            {
                return;
            }
            int[] pos = iren.GetEventPosition();
            ButtonCallback(pos[0], pos[1]);
        }
Exemple #23
0
 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;
     }
 }
Exemple #24
0
        //Interactors
        private static void get_coordinates(vtkObject sender, vtkObjectEventArgs e)
        {
            int[]  cur = renWin.GetPosition();
            string txt = "";

            foreach (int num in cur)
            {
                txt += System.String.Format("{0}", num);
                txt += "|";
            }
            StreamWriter file = new StreamWriter(@"C:\\users\\jfrondel\\desktop\\GITS\\VTKOUTPUT.txt");

            file.WriteLine(txt);
        }
 void m_iren_RightButtonPressEvt(vtkObject sender, vtkObjectEventArgs e)
 { //左键按下记录矩形的起始点
     if (m_pickTarget == ePickTarget.None)
     {
         return;
     }
     if (m_pickMode != ePickMode.RectPickMode) //如果不是框选则不用记录矩形起始点坐标
     {
         return;
     }
     m_iren.GetEventPosition(ref startx, ref starty);  //获取起始点
     endx = startx; endy = starty;
     //Console.WriteLine("startx:{0},starty:{1}", startx, starty);
 }
        public void boxInteractionCallback(vtkObject sender, vtkObjectEventArgs e)
        {
            vtkBoxWidget2 wid = vtkBoxWidget2.SafeDownCast(sender);

            if (wid != null)
            {
                vtkTransform         vtk_transform = vtkTransform.New();
                vtkBoxRepresentation rep           = (vtkBoxRepresentation)wid.GetRepresentation();
                rep.GetTransform(vtk_transform);
                sphereActorList[RegionsListBox.SelectedIndex].SetUserTransform(vtk_transform);
                int reg_idx = RegionsListBox.SelectedIndex;
                this.TransferVTKBoxWidgetTransformToMatrix(this.configurator.SimConfig.scenario.regions[reg_idx].region_box_spec);
            }
        }
    { ///<summary>execute command</summary>
        public static void Execute(vtkObject sender, vtkObjectEventArgs e)
        {
            //Global Variable Declaration Skipped
            rangeStart = rangeStart + 0.1;
            rangeEnd   = rangeEnd + 0.1;
            if ((rangeEnd) > 1.0)
            {
                rangeStart = 0.0;
                rangeEnd   = 0.2;
            }

            LUT.SetHueRange((double)rangeStart, (double)rangeEnd);
            LUT.Build();
        }
        public static vtkObject CreateInstance(string vtkclassname)
        {
            vtkObject result      = null;
            uint      mteStatus   = 0u;
            uint      mteIndex    = 4294967295u;
            uint      rawRefCount = 0u;
            IntPtr    intPtr      = vtkGraphicsFactory.vtkGraphicsFactory_CreateInstance_01(vtkclassname, ref mteStatus, ref mteIndex, ref rawRefCount);

            if (IntPtr.Zero != intPtr)
            {
                bool flag;
                result = (vtkObject)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag);
            }
            return(result);
        }
Exemple #29
0
        private void ShowGrid(vtkObject sender, vtkObjectEventArgs e)
        {
            if (ClipPlaneActor.GetVisibility() == 1)
            {
                ClipPlaneActor.VisibilityOff();
                Grid.GetTextActor().SetInput("Grid ON");
            }
            else
            {
                ClipPlaneActor.VisibilityOn();
                Grid.GetTextActor().SetInput("Grid OFF");
            }

            Refresh();
        }
Exemple #30
0
        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();
            }
        }
Exemple #31
0
        public vtkObject GetCurrentObject()
        {
            vtkObject vtkObject   = null;
            uint      mteStatus   = 0u;
            uint      mteIndex    = 4294967295u;
            uint      rawRefCount = 0u;
            IntPtr    intPtr      = vtkCollectionIterator.vtkCollectionIterator_GetCurrentObject_02(base.GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);

            if (IntPtr.Zero != intPtr)
            {
                bool flag;
                vtkObject = (vtkObject)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag);
                if (flag)
                {
                    vtkObject.Register(null);
                }
            }
            return(vtkObject);
        }
Exemple #32
0
        public vtkObject GetConsumer(int i)
        {
            vtkObject vtkObject   = null;
            uint      mteStatus   = 0u;
            uint      mteIndex    = 4294967295u;
            uint      rawRefCount = 0u;
            IntPtr    intPtr      = vtkProp.vtkProp_GetConsumer_10(base.GetCppThis(), i, ref mteStatus, ref mteIndex, ref rawRefCount);

            if (IntPtr.Zero != intPtr)
            {
                bool flag;
                vtkObject = (vtkObject)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag);
                if (flag)
                {
                    vtkObject.Register(null);
                }
            }
            return(vtkObject);
        }
 // Create a Python function to create the text for the text mapper used
 // to display the results of picking.
 public void annotatePickCallback(vtkObject caller, uint eventId,
     object clientData, IntPtr callData)
 {
     vtkCellPicker picker = vtkCellPicker.SafeDownCast(caller);
     if (null != picker)
     {
         if (picker.GetCellId() < 0)
         {
             textActor.VisibilityOff();
         }
         else
         {
             double[] selPt = picker.GetSelectionPoint();
             double[] pickPos = picker.GetPickPosition();
             textMapper.SetInput(String.Format("({0}, {1}, {2})",
                 pickPos[0], pickPos[1], pickPos[2]));
             textActor.SetPosition(selPt);
             textActor.VisibilityOn();
         }
     }
 }
Exemple #34
0
		public static void VtkEventCallback(vtkObject vtkObj, uint eventId, object obj, IntPtr ptr)
		{
			const string unexpectedMessage = "Unexpected VTK event received.";
			const string message = "VTK Event 0x{0:x4}: {1}";

			switch ((EventIds) eventId)
			{
				case EventIds.WarningEvent:
					string warnDetails = Marshal.PtrToStringAnsi(ptr);
					Platform.Log(LogLevel.Warn, message, eventId, warnDetails);
					break;
				case EventIds.ErrorEvent:
					string errorDetails = Marshal.PtrToStringAnsi(ptr);
					Platform.Log(LogLevel.Error, message, eventId, errorDetails);
					break;
				default:
					Platform.Log(LogLevel.Fatal, unexpectedMessage);
					Debug.Fail(unexpectedMessage);
					break;
			}
		}
Exemple #35
0
        /// <summary>
        /// Event fired when the graph selection is changed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void view_SelectionChangedEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            //Get the selection
            vtkDataRepresentation dr = view.GetRepresentation(0);
            vtkAnnotationLink al = dr.GetAnnotationLink();
            vtkSelection sel = al.GetCurrentSelection();
            vtkAbstractArray arr = null;
            vtkSelectionNode node = sel.GetNode(0);
            if (null != node)
            {
                arr = node.GetSelectionList();
            }

            vtkIdTypeArray arr1 = (vtkIdTypeArray) arr;

            // Short circuit if nothing is selected...
            int numSelected = (int) arr1.GetNumberOfTuples();
            if (0 == numSelected)
            {
                return;
            }

            vtkStringArray arr2 = ((vtkStringArray)g.GetVertexData().GetAbstractArray("label"));

            //get a pseudo random name if more than one are selected
            string name = arr2.GetValue(
                (int)arr1.GetValue(System.DateTime.Now.Millisecond % numSelected));

            //reset the small arrayList
            arrListSmall = new System.Collections.ArrayList();
            int hops;
            try
            {
                hops = System.Convert.ToInt32(toolStripTextBox3.Text);
            }
            catch (Exception)
            {
                hops = 1;
            }

            toolStripTextBox1.Text = name;
            toolStripTextBox1.Invalidate();
            this.Update();

            //Start the loading graphic and add another renderer on top for the spinning logo
            vtkRenderWindow win = this.renderWindowControl1.RenderWindow;
            win.AddRenderer(logoRenderer);
            win.Render();
            this.webBrowser1.Url = new Uri("http://en.wikipedia.org/wiki/" + name.Replace(" ", "_"));
            //Start the work
            addLinks(g, name, hops);
            //Remove the spinning logo after the work is done
            win.RemoveRenderer(logoRenderer);
            win.Render();
        }
Exemple #36
0
        /// <summary>
        /// Open the explorer window of the selected file
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void view_SelectionChangedEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            // Get the selection
            //
            vtkDataRepresentation dr = view.GetRepresentation(0);
            vtkAnnotationLink al = dr.GetAnnotationLink();
            vtkSelection sel = al.GetCurrentSelection();
            vtkStringArray arr1 = null;
            vtkSelectionNode node = sel.GetNode(0);
            if (null != node)
            {
                arr1 = (vtkStringArray)node.GetSelectionList();
            }

            string path = "";

            if (null != arr1)
            {
                // If it is a directory open it, if not cut off the end
                // and open the directory
                //
                if (Directory.Exists(arr1.GetValue(0)))
                {
                    path = arr1.GetValue(0);
                }
                else
                {
                    path = Regex.Replace(arr1.GetValue(0),
                        "\\\\[^\\\\]+\\.[^\\\\]*$", "");
                }
            }

            if (path != SelectedPath)
            {
                SelectedPath = path;

                System.Diagnostics.Debug.WriteLine(SelectedPath);

                if ("" != SelectedPath)
                {
                    //Create the process
                    System.Diagnostics.ProcessStartInfo psi =
                        new System.Diagnostics.ProcessStartInfo("cmd.exe",
                          "/C explorer " + SelectedPath);
                    psi.CreateNoWindow = true;
                    psi.UseShellExecute = false;
                    System.Diagnostics.Process p =
                        System.Diagnostics.Process.Start(psi);
                }
            }
        }
Exemple #37
0
		public static void RegisterVtkErrorEvents(vtkObject obj)
		{
			obj.AddObserver((uint) EventIds.ErrorEvent, VtkEventCallback);
			obj.AddObserver((uint) EventIds.WarningEvent, VtkEventCallback);
		}
 /// <summary>
 /// Callback function for lineWidget2.StartInteractionEvt
 /// </summary>
 public static void BeginInteraction2(vtkObject sender, vtkObjectEventArgs e)
 {
     streamline2.VisibilityOn();
 }
Exemple #39
0
        void RenderWindow_RightButtonPressEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            this.contextMenuStripActorPicker = new ContextMenuStrip();
            int[] Pos;
            Pos = this.iren.GetLastEventPosition();

            ToolStripMenuItem ToolStripMenuItem_World = new ToolStripMenuItem("World");
            ToolStripMenuItem ScaleItem = new ToolStripMenuItem("Scale");
            ToolStripMenuItem_World.DropDownItems.Add(ScaleItem);
            ScaleItem.Click += new System.EventHandler(this.ScaleClicking);

            ToolStripMenuItem ColorItem = new ToolStripMenuItem("Background Color");
            ToolStripMenuItem_World.DropDownItems.Add(ColorItem);
            ColorItem.Click += new System.EventHandler(this.ColorClicking);

            ToolStripMenuItem ExportViewItem = new ToolStripMenuItem("Export View");
            ToolStripMenuItem_World.DropDownItems.Add(ExportViewItem);
            ExportViewItem.Click += new System.EventHandler(this.ExportViewClicking);

            if (this.ListNameObjectType.Count >= 1)
            {
                ToolStripMenuItem SelectionItem = new ToolStripMenuItem("Selection Type");
                ToolStripMenuItem_World.DropDownItems.Add(SelectionItem);
                SelectableObjectName = new List<bool>();

                for (int idxName = 0; idxName < this.ListNameObjectType.Count; idxName++)
                {
                    ToolStripMenuItem TypeName = new ToolStripMenuItem(ListNameObjectType[idxName]);
                    TypeName.CheckOnClick = true;
                    TypeName.Checked = true;
                    TypeName.Click += new System.EventHandler(this.TypeNameClicking);

                    if (TypeName.Checked) SelectableObjectName.Add(true);
                    else SelectableObjectName.Add(false);
                }
            }

            string MetaObjectName = "";
            vtkPicker Picker = vtkPicker.New();
            int numActors = Picker.Pick(Pos[0], Pos[1], 0, this.ren1);
            if (numActors == 1)
            {
                vtkActor PickedActor = Picker.GetActor();

                bool selectable = false;
                for (int i = 0; i < ListObject.Count; i++)
                    if (ListObject[i].GetActor() == PickedActor)
                    {
                        cInteractive3DObject Obj = (cInteractive3DObject)ListObject[i];
                        if (Obj.GetMetaObjectContainer() != null) MetaObjectName = Obj.GetMetaObjectContainer().Information.GetName() + " -> ";

                        for (int idx = 0; idx < this.SelectableObjectName.Count; idx++)
                        {
                            // the selected actor has been identified, let's get its type
                            cInteractive3DObject TmpBioObj = (cInteractive3DObject)ListObject[i];

                            int IdxType = -1;
                            for (int TmpIdx = 0; TmpIdx < this.ListNameObjectType.Count; TmpIdx++)
                                if (TmpBioObj.GetType() == this.ListNameObjectType[TmpIdx]) IdxType = TmpIdx;

                            // Is the type selectable (i.e. checked by the user in the contextual menu ?
                            if (this.SelectableObjectName[IdxType])
                            {
                                selectable = true;
                                break;
                            }
                        }
                    }

                if (selectable == true)
                {
                    ToolStripMenuItem TypeItem = null;
                    ToolStripMenuItem ToolStripMenuItem_ObjectDisplay = new ToolStripMenuItem("Object display");
                    // ToolStripMenuItem CentroidItem = new ToolStripMenuItem("Centroid");
                    ToolStripMenuItem ToolStripMenuItem_MetaDescriptorDisplay = null;

                    ToolStripMenuItem_DescriptorDisplay = new ToolStripMenuItem("Object profil");
                    {
                        for (int i = 0; i < ListObject.Count; i++)
                            if (ListObject[i].GetActor() == PickedActor)
                            {
                                Type T = ListObject[i].GetType();
                                List<double> ListDesc = null;
                                List<string> ListProfilName = null;

                                if (T.Name == "cBiological3DVolume")
                                {
                                    cBiological3DVolume TmpVol = (cBiological3DVolume)ListObject[i];
                                    ListProfilName = TmpVol.Information.GetDescriptorNames();
                                    ListDesc = TmpVol.Information.GetInformation();
                                    TypeItem = new ToolStripMenuItem(MetaObjectName + TmpVol.GetType());
                                }
                                else if (T.Name == "cBiologicalSpot")
                                {
                                    cBiologicalSpot TmpSpot = (cBiologicalSpot)ListObject[i];
                                    ListProfilName = TmpSpot.Information.GetDescriptorNames();
                                    ListDesc = TmpSpot.Information.GetInformation();
                                    TypeItem = new ToolStripMenuItem(MetaObjectName + TmpSpot.GetType());
                                }
                                else if (T.Name == "c3DWell")
                                {
                                    c3DWell TmpWell = (c3DWell)ListObject[i];
                                    ListProfilName = TmpWell.Information.GetDescriptorNames();
                                    ListDesc = TmpWell.Information.GetInformation();
                                    TypeItem = new ToolStripMenuItem(MetaObjectName + TmpWell.GetType());

                                    Chart ThumbnailChart = TmpWell.AssociatedWell.GetChart();
                                    if (ThumbnailChart != null)
                                    {
                                        MemoryStream ms = new MemoryStream();
                                        TmpWell.AssociatedWell.GetChart().SaveImage(ms, ChartImageFormat.Bmp);
                                        TypeItem.Image = new Bitmap(ms);
                                        TypeItem.ImageScaling = ToolStripItemImageScaling.None;
                                        TypeItem.Size = new System.Drawing.Size(48, 48);

                                        // New3DWell.ThumbnailnewImage = new Bitmap(ms);
                                    }

                                    CurrentlySelectedWell = TmpWell.AssociatedWell;

                                    TypeItem.Click += new System.EventHandler(this.WellInfoClick);

                                }
                                else if (T.Name == "c3DIsoContours")
                                {
                                    c3DIsoContours TmpContours = (c3DIsoContours)ListObject[i];

                                   // ListProfilName = TmpWell.Information.GetDescriptorNames();
                                  //  ListDesc = TmpWell.Information.GetInformation();
                                    TypeItem = new ToolStripMenuItem();
                                    Chart TmpChart = new Chart();
                                    Series SeriesPos = new Series();
                                    //SeriesPos.ShadowOffset = 1;

                                    ChartArea CurrentChartArea = new ChartArea();

                                    List<double> DoubleList = new List<double>();
                                    int Idx = 0;
                                    double[] Colour =TmpContours.GetActor().GetProperty().GetColor();

                                    foreach (cPoint3D CurrentPt in TmpContours.ListPtContour)
                                    {
                                        SeriesPos.Points.AddY(CurrentPt.Z);
                                        SeriesPos.Points[Idx].MarkerSize = 2;
                                        SeriesPos.Points[Idx].MarkerStyle = MarkerStyle.Circle;

                                        SeriesPos.Points[Idx++].Color = Color.FromArgb((int)Colour[0], (int)Colour[1], (int)Colour[2]);
                                        //DoubleList.Add(CurrentPt.Z);
                                    }

                                    //CDisplayGraph DispGraph = new CDisplayGraph(DoubleList.ToArray());
                                    SeriesPos.ChartType = SeriesChartType.Point;
                                    TmpChart.ChartAreas.Add(CurrentChartArea);

                                    CurrentChartArea.Axes[1].LabelStyle.Enabled = false;
                                    CurrentChartArea.Axes[1].MajorGrid.Enabled = false;
                                    CurrentChartArea.Axes[0].Enabled = AxisEnabled.False;
                                    CurrentChartArea.Axes[1].Enabled = AxisEnabled.False;
                                    CurrentChartArea.Axes[0].MajorGrid.Enabled = false;
                                    TmpChart.Width = 120;
                                    TmpChart.Height = 60;

                                    TmpChart.TextAntiAliasingQuality = TextAntiAliasingQuality.High;

                                    TmpChart.Series.Add(SeriesPos);

                                    //Chart ThumbnailChart = TmpChart.NewWindow.chartForSimpleForm;
                                   // if (ThumbnailChart != null)
                                    {
                                        MemoryStream ms = new MemoryStream();
                                        TmpChart.SaveImage(ms, ChartImageFormat.Bmp);
                                        TypeItem.Image = new Bitmap(ms);
                                        TypeItem.ImageScaling = ToolStripItemImageScaling.None;
                                        TypeItem.Size = new System.Drawing.Size(48, 48);

                                        // New3DWell.ThumbnailnewImage = new Bitmap(ms);
                                    }

                                  //  CurrentlySelectedWell = TmpWell.AssociatedWell;

                                  //  TypeItem.Click += new System.EventHandler(this.WellInfoClick);

                                }

                                if (((cInteractive3DObject)ListObject[i]).ThumbnailnewImage != null)
                                {

                                    //    TypeItem.Image = ((cBiological3DObject)ListObject[i]).ThumbnailnewImage;
                                    //    TypeItem.ImageScaling = ToolStripItemImageScaling.None;
                                    //    TypeItem.Size = new System.Drawing.Size(48, 48);
                                    //    TypeItem.Click += new System.EventHandler(this.WellInfoClick);

                                }

                                if (ListProfilName != null)
                                    for (int idxName = 0; idxName < ListProfilName.Count; idxName++)
                                    {
                                        ToolStripMenuItem descName = new ToolStripMenuItem(ListProfilName[idxName] + " : " + ListDesc[idxName]);
                                        ToolStripMenuItem_DescriptorDisplay.DropDownItems.Add(descName);
                                    }
                                else
                                {
                                    ToolStripMenuItem descName = new ToolStripMenuItem("Null");
                                    ToolStripMenuItem_DescriptorDisplay.DropDownItems.Add(descName);
                                }

                            }
                    }

                    ToolStripSeparator SepratorStrip = new ToolStripSeparator();
                    if (ToolStripMenuItem_MetaDescriptorDisplay != null)
                        contextMenuStripActorPicker.Items.AddRange(new ToolStripItem[] { TypeItem, SepratorStrip, ToolStripMenuItem_World, ToolStripMenuItem_ObjectDisplay, ToolStripMenuItem_DescriptorDisplay, ToolStripMenuItem_MetaDescriptorDisplay });
                    else
                        contextMenuStripActorPicker.Items.AddRange(new ToolStripItem[] { TypeItem, SepratorStrip, ToolStripMenuItem_World, ToolStripMenuItem_ObjectDisplay, ToolStripMenuItem_DescriptorDisplay });
                }
                else
                    contextMenuStripActorPicker.Items.AddRange(new ToolStripItem[] { ToolStripMenuItem_World });
            }
            else
                contextMenuStripActorPicker.Items.AddRange(new ToolStripItem[] { ToolStripMenuItem_World });

            int[] PosWindow = this.renWin.GetSize();
            contextMenuStripActorPicker.Show(Control.MousePosition);
            return;
        }
 /// <summary>
 /// Callback function for lineWidget2.InteractionEvt
 /// </summary>
 public static void GenerateStreamlines2(vtkObject sender, vtkObjectEventArgs e)
 {
     lineWidget2.GetPolyData(seeds2);
     renWin.Render();
 }
    /// <summary>
    /// The main entry method called by the CSharp driver
    /// </summary>
    /// <param name="argv"></param>
    public static void Main(String[] argv)
    {
        try
        {
          bool fail_on_image_diff = false;

          //Prefix Content is: ""
          int argc = 0;
          if (argv != null)
          {
        argc = argv.Length;
          }

          // setup some common things for testing[]
          vtkMath.RandomSeed(6);
          // create the testing class to do the work[]
          rtTester = new vtkTesting();
          for (int i = 1; i < argc; i++)
          {
        rtTester.AddArgument(argv[i]);

        if (argv[i] == "--fail-on-image-diff")
        {
          fail_on_image_diff = true;
        }
          }

          // string auto_path = "";
          //
          VTK_DATA_ROOT = rtTester.GetDataRoot();

          // load in the script[]
          if (0 == argv.Length)
          {
        test = GetTestNameInteractively();
          }
          else
          {
        test = argv[0];
          }

          //The class that we are about to execute the test in
          System.Type t = System.Type.GetType(test + "Class");
          if (null == t)
          {
        throw new System.ArgumentException(System.String.Format(
              "error: could not create a Type object for '{0}'...\n\n{1}\n{2}\n{3}\n{4}\n\n{5}\n\n",
              test + "Class",
              "Typo?",
              "Did you follow the C# test driver naming convention?",
              "Did you add the test to the CMakeLists.txt file?",
              "Did you reconfigure/rebuild after adding the test?",
              "Test 'method' name should equal 'file name without extension'... Test 'public class' name should be the same but with 'Class' appended..."
              ));
          }

          // set the default threshold, the Tcl script may change this[]
          threshold = -1;

          executeMethod(t, "Setthreshold", new object[] { threshold });
          executeMethod(t, "SetVTK_DATA_ROOT", new object[] { VTK_DATA_ROOT });

          //run the test
          executeMethod(t, test, new object[] { argv });

          tempRenderWindowInteractor = (vtkRenderWindowInteractor)executeMethod(t, "Getiren", new object[] { });
          tempRenderWindow = (vtkRenderWindow)executeMethod(t, "GetrenWin", new object[] { });
          tempViewer = (vtkObject)executeMethod(t, "Getviewer", new object[] { });
          tempw2i = (vtkWindowToImageFilter)executeMethod(t, "Getw2i", new object[] { });

          //update the threshold from what the test made it
          threshold = (int)executeMethod(t, "Getthreshold", new object[] { });
          if (tempRenderWindowInteractor != null)
          {
        tempRenderWindow.Render();
          }

          // run the event loop quickly to map any tkwidget windows[]
          // current directory[]
          rtResult = 0;
          if (fail_on_image_diff && rtTester.IsValidImageSpecified() != 0)
          {
        // look for a renderWindow ImageWindow or ImageViewer[]
        // first check for some common names[]
        if (tempRenderWindow != null)
        {
          rtTester.SetRenderWindow(tempRenderWindow);
          if ((threshold) == -1)
          {
            threshold = 10;
          }
        }
        else
        {
          if ((threshold) == -1)
          {
            threshold = 5;
          }
          if (tempViewer != null)
          {
            if (tempViewer.IsA("vtkImageViewer") != 0)
            {
              tempRenderWindow = ((vtkImageViewer)tempViewer).GetRenderWindow();
            }
            else if (tempViewer.IsA("vtkImageViewer2") != 0)
            {
              tempRenderWindow = ((vtkImageViewer2)tempViewer).GetRenderWindow();
            }
            else
            {
              throw new System.Exception("");
            }
            rtTester.SetRenderWindow(tempRenderWindow);

            if (tempViewer.IsA("vtkImageViewer") != 0)
            {
              ((vtkImageViewer)tempViewer).Render();
            }
            else if (tempViewer.IsA("vtkImageViewer2") != 0)
            {
              ((vtkImageViewer2)tempViewer).Render();
            }
          }
          else
          {
            tempRenderWindow = (vtkRenderWindow)executeMethod(t, "GetimgWin", new object[] { });
            if (tempRenderWindow != null)
            {
              rtTester.SetRenderWindow(tempRenderWindow);
              tempRenderWindow.Render();
            }
          }
        }

        if (tempRenderWindow == null)
        {
          throw new System.Exception("tempRenderWindow cannot be null for IsValidImageSpecified case...");
        }

        rtResult = rtTester.RegressionTest(threshold);
          }

          if (rtTester.IsInteractiveModeSpecified() != 0)
          {
        if (tempRenderWindowInteractor != null)
        {
          tempRenderWindowInteractor.Start();
        }
          }

          // Force other objects that may have holds on the render window
          // to let go:
          //
          rtTester.SetRenderWindow(null);
          if (null != tempw2i)
          {
        tempw2i.SetInput(null);
          }

          executeMethod(t, "deleteAllVTKObjects", new object[] { });
          deleteAllVTKObjects();

          // Force a garbage collection prior to exiting the test
          // so that any memory leaks reported are likely to be
          // *actual* leaks of some sort rather than false reports:
          //
          System.GC.Collect();
          System.GC.WaitForPendingFinalizers();

          // Fail the tests that have image diffs if fail_on_image_diff is on:
          //
          if (fail_on_image_diff && 0 == rtResult)
          {
        throw new System.Exception("error: image RegressionTest failed");
          }

          // Test finished without throwing any exceptions...
          // Therefore, it passed. Exit with a zero ExitCode.
          //
          System.Environment.ExitCode = 0;
        }
        catch (System.Exception exc)
        {
          // Catch anything, spit it out to the console so it can be captured
          // by ctest. Exit with a non-zero ExitCode.
          //
          System.Console.Error.WriteLine("================================================================================");
          System.Console.Error.WriteLine("");
          System.Console.Error.WriteLine("TclToCsScript C# test driver caught System.Exception:");
          System.Console.Error.WriteLine("");
          System.Console.Error.WriteLine("{0}", exc.ToString());
          System.Console.Error.WriteLine("");
          System.Console.Error.WriteLine("================================================================================");
          System.Console.Error.WriteLine("");
          System.Environment.ExitCode = 2345;
        }
    }
Exemple #42
0
 static void myCallback(vtkObject caller, uint eventId,
     object clientData, IntPtr callData)
 {
     System.Diagnostics.Debug.WriteLine("Callback has been called.");
     if ( caller is vtkBoxWidget )
     {
         vtkBoxWidget boxWidget = (vtkBoxWidget) caller;
         using (vtkTransform t = new vtkTransform())
         {
             boxWidget.GetTransform(t);
             boxWidget.GetProp3D().SetUserTransform(t);
         }
     }
     else
     {
         System.Diagnostics.Debug.WriteLine("Caller is not a box widget.");
     }
 }
        ///<summary>execute command</summary>
        public static void Execute(vtkObject sender, vtkObjectEventArgs e)
        {
            //Global Variable Declaration Skipped
              rangeStart = rangeStart+0.1;
              rangeEnd = rangeEnd+0.1;
              if ((rangeEnd) > 1.0)
            {
            rangeStart = 0.0;
            rangeEnd = 0.2;
            }

              LUT.SetHueRange((double)rangeStart,(double)rangeEnd);
              LUT.Build();
        }
 protected void OnModifiedEvt(vtkObject sender, vtkObjectEventArgs objectEventArgs)
 {
     UpdateVtk(this, null);
 }
 /// <summary>
 /// Callback function for renWin.AbortCheckEvt
 /// </summary>
 public static void TkCheckAbort(vtkObject sender, vtkObjectEventArgs e)
 {
     foo = renWin.GetEventPending();
     if ((foo) != 0)
     {
         renWin.SetAbortRender(1);
     }
 }
        /// <summary>
        /// handler for left mouse button down
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void leftMouseDown(vtkObject sender, vtkObjectEventArgs e)
        {
            vtkRenderWindowInteractor interactor = this.rwc.RenderWindow.GetInteractor();
            int[] x = interactor.GetEventPosition();
            long p = ((vtkCellPicker)rwc.RenderWindow.GetInteractor().GetPicker()).Pick(x[0], x[1], 0, ren);

            if (p > 0)
            {
                long pointID = ((vtkCellPicker)rwc.RenderWindow.GetInteractor().GetPicker()).GetPointId();
                if (p >= 0)
                {
                    long cellID = (int)this.mapper.GetInput().GetPointData().GetArray(this.vtkData.CellIdsArrayName).GetTuple1(pointID);
                    this.SelectedCell = cellID;
                }
            }
        }
 ///<summary>execute command</summary>
 public static void Execute(vtkObject sender, vtkObjectEventArgs e)
 {
     foo = renWin.GetEventPending();
       if ((foo) != 0)
     {
     renWin.SetAbortRender((int)1);
     }
 }
Exemple #48
0
 /// <summary>
 /// Tell the application when the mouse is being dragged
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void iren_LeftButtonPressEvt(vtkObject sender, vtkObjectEventArgs e)
 {
     this.MouseDown1 = true;
 }
 /// <summary>
 /// Callback function for boxWidget.EndInteractionEvt
 /// </summary>
 public static void SelectPolygons(vtkObject sender, vtkObjectEventArgs e)
 {
     boxWidget.GetPlanes(planes);
     selectActor.VisibilityOn();
 }
Exemple #50
0
        void RenderWindow_RightButtonPressEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            CompleteMenu = new ContextMenuStrip();

            ToolStripMenuItem ToolStripMenuItem_World = new ToolStripMenuItem("World");

            ToolStripMenuItem DisplayOptItem = new ToolStripMenuItem("Display Options");

            ToolStripMenuItem ScaleItem = new ToolStripMenuItem("Scale");
            DisplayOptItem.DropDownItems.Add(ScaleItem);
            ScaleItem.Click += new System.EventHandler(this.ScaleClicking);

            ToolStripMenuItem ToolStripMenuItem_ChangeBackgroundColor = new ToolStripMenuItem("Background Color");
            DisplayOptItem.DropDownItems.Add(ToolStripMenuItem_ChangeBackgroundColor);
            ToolStripMenuItem_ChangeBackgroundColor.Click += new System.EventHandler(this.ToolStripMenuItem_ChangeBackgroundColor);

            ToolStripMenuItem_World.DropDownItems.Add(DisplayOptItem);

            ToolStripMenuItem ToolStripMenuItem_SaveToImage = new ToolStripMenuItem("Save View");
            ToolStripMenuItem_World.DropDownItems.Add(ToolStripMenuItem_SaveToImage);
            ToolStripMenuItem_SaveToImage.Click += new System.EventHandler(this.ToolStripMenuItem_SaveToImage);

            ToolStripMenuItem_World.DropDownItems.Add(new ToolStripSeparator());

            //ToolStripMenuItem_ActorsInfo = new ToolStripMenuItem("Objects Manager");
            //ToolStripMenuItem_ActorsInfo.CheckOnClick = true;
            ToolStripMenuItem_World.DropDownItems.Add(ToolStripMenuItem_ActorsInfo);

            ToolStripMenuItem_ActorsInfo.Click += new System.EventHandler(_ToolStripMenuItem_ActorsInfo);

            string MetaObjectName = "";
            int[] Pos = iren.GetEventPosition();
            //vtkPicker Picker = vtkPicker.New();
            vtkPropPicker Pick = vtkPropPicker.New();
            Pick.Pick(Pos[0], Pos[1], 0, Input.AssociatedVTKRenderer);
            int numActors = Pick.Pick(Pos[0], Pos[1], 0, Input.AssociatedVTKRenderer);

            ToolStripMenuItem TypeItem = null;
            // ToolStripMenuItem ToolStripMenuItem_ObjectDisplay = new ToolStripMenuItem("Object Display");
            ToolStripMenuItem ToolStripMenuItem_DescriptorDisplay = new ToolStripMenuItem("Object Profil");

            if (numActors == 1)
            {
                vtkActor PickedActor = Pick.GetActor();

                for (int i = 0; i < this.Input.ListVolume.Count; i++)
                {

                    cVolumeRendering3D Obj = (cVolumeRendering3D)this.Input.ListVolume[i];

                   // ToolStripMenuItem ToolStripMenuItem_3DVolumeProperties = new ToolStripMenuItem("["+Obj.GetName()+"]");

                    foreach (var item in Obj.GetExtendedContextMenu())
                    {
                        CompleteMenu.Items.Add(item);
                    }
                }

                for (int i = 0; i < this.Input.ListObject.Count; i++)
                {
                    if (this.Input.ListObject[i].GetActor() == PickedActor)
                    {
                        if (this.Input.ListObject[i].GetType().BaseType.BaseType == typeof(cObject3D))
                        {
                            cObject3D Obj = (cObject3D)this.Input.ListObject[i];

                           // ToolStripMenuItem ToolStripMenuItem_3DObjectProperties = new ToolStripMenuItem("[" + Obj.GetName() + "] Properties");

                            //ToolStripMenuItem _3DObjectProperties_Opacity = new ToolStripMenuItem("Opacity");
                            //_3DObjectProperties_Opacity.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_Opacity);
                            //_3DObjectProperties_Opacity.Click += new System.EventHandler(this._3DObjectProperties_Opacity);

                            //ToolStripMenuItem _3DObjectProperties_Color = new ToolStripMenuItem("Color");
                            //_3DObjectProperties_Color.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_Color);
                            //_3DObjectProperties_Color.Click += new System.EventHandler(this._3DObjectProperties_Color);

                            //ToolStripMenuItem _3DObjectProperties_Scale = new ToolStripMenuItem("Scale");
                            //_3DObjectProperties_Scale.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_Scale);
                            //_3DObjectProperties_Scale.Click += new System.EventHandler(this._3DObjectProperties_Scale);

                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(new ToolStripSeparator());

                            //ToolStripMenuItem _3DObjectProperties_Solid = new ToolStripMenuItem("Surface");
                            //_3DObjectProperties_Solid.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_Solid);
                            //_3DObjectProperties_Solid.Click += new System.EventHandler(this._3DObjectProperties_Solid);

                            //ToolStripMenuItem _3DObjectProperties_WireFrame = new ToolStripMenuItem("WireFrame");
                            //_3DObjectProperties_WireFrame.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_WireFrame);
                            //_3DObjectProperties_WireFrame.Click += new System.EventHandler(this._3DObjectProperties_WireFrame);

                            //ToolStripMenuItem _3DObjectProperties_Point = new ToolStripMenuItem("Point");
                            //_3DObjectProperties_Point.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_Point);
                            //_3DObjectProperties_Point.Click += new System.EventHandler(this._3DObjectProperties_Point);

                           // ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(new ToolStripSeparator());

                            foreach (var item in Obj.GetExtendedContextMenu())
                            {
                                CompleteMenu.Items.Add(item);
                                //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(item);
                            }

                            //ToolStripMenuItem _3DObjectProperties_AddNotation = new ToolStripMenuItem("Add Notation");
                            //_3DObjectProperties_AddNotation.Tag = Obj;
                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_AddNotation);
                            //_3DObjectProperties_AddNotation.Click += new System.EventHandler(this._3DObjectProperties_AddNotation);

                            //ToolStripMenuItem _3DObjectProperties_INFO = new ToolStripMenuItem("Info");

                            //ToolStripMenuItem _3DObjectProperties_GetVerticesList = new ToolStripMenuItem("Vertices List");
                            //_3DObjectProperties_GetVerticesList.Tag = Obj;
                            //_3DObjectProperties_INFO.DropDownItems.Add(_3DObjectProperties_GetVerticesList);
                            //_3DObjectProperties_GetVerticesList.Click += new System.EventHandler(this._3DObjectProperties_GetVerticesList);

                            //_3DObjectProperties_INFO.DropDownItems.Add(new ToolStripSeparator());

                            //ToolStripMenuItem _3DObjectProperties_GetInfo = new ToolStripMenuItem("Info");
                            //_3DObjectProperties_GetInfo.Tag = Obj;
                            //_3DObjectProperties_INFO.DropDownItems.Add(_3DObjectProperties_GetInfo);
                            //_3DObjectProperties_GetInfo.Click += new System.EventHandler(this._3DObjectProperties_GetInfo);

                            //ToolStripMenuItem_3DObjectProperties.DropDownItems.Add(_3DObjectProperties_INFO);

                           // CompleteMenu.Items.Add(ToolStripMenuItem_3DObjectProperties);
                        }

                        if (this.Input.ListObject[i].GetType().BaseType != typeof(cGeometric3DObject))
                        {
                            cInteractive3DObject Obj = (cInteractive3DObject)this.Input.ListObject[i];
                            if (Obj.GetMetaObjectContainer() != null) MetaObjectName = Obj.GetMetaObjectContainer().Information.GetName() + " -> ";

                            Type T = this.Input.ListObject[i].GetType();
                            List<double> ListDesc = null;
                            List<string> ListProfilName = null;
                            //  ToolStripMenuItem ToolStripMenuItem_SelectedActor = new ToolStripMenuItem(T.ToString()+i);
                            //CompleteMenu.Items.Add(ToolStripMenuItem_SelectedActor);
                            //ToolStripMenuItem_ChangeBackgroundColor.Click += new System.EventHandler(this.ToolStripMenuItem_ChangeBackgroundColor);

                            if (T.Name == "cBiological3DVolume")
                            {
                                cBiological3DVolume TmpVol = (cBiological3DVolume)this.Input.ListObject[i];
                                ListProfilName = TmpVol.Information.GetDescriptorNames();
                                ListDesc = TmpVol.Information.GetInformation();
                                TypeItem = new ToolStripMenuItem(MetaObjectName + TmpVol.GetType());
                            }
                            else if (T.Name == "cBiologicalSpot")
                            {
                                cBiologicalSpot TmpSpot = (cBiologicalSpot)this.Input.ListObject[i];
                                ListProfilName = TmpSpot.Information.GetDescriptorNames();
                                ListDesc = TmpSpot.Information.GetInformation();
                                TypeItem = new ToolStripMenuItem(MetaObjectName + TmpSpot.GetType());
                            }

                            if (ListProfilName != null)
                                for (int idxName = 0; idxName < ListDesc.Count; idxName++)
                                {
                                    ToolStripMenuItem descName = new ToolStripMenuItem(ListProfilName[idxName] + " : " + ListDesc[idxName]);
                                    ToolStripMenuItem_DescriptorDisplay.DropDownItems.Add(descName);
                                }
                            else
                            {
                                ToolStripMenuItem descName = new ToolStripMenuItem("Null");
                                ToolStripMenuItem_DescriptorDisplay.DropDownItems.Add(descName);
                            }

                            //  ToolStripMenuItem_ObjectDisplay.DropDownItems.Add(TypeItem);

                            //  CompleteMenu.Items.Add(ToolStripMenuItem_ObjectDisplay);
                            CompleteMenu.Items.Add(ToolStripMenuItem_DescriptorDisplay);

                        }
                        else
                        {
                            cGeometric3DObject Obj = (cGeometric3DObject)this.Input.ListObject[i];

                            if ((Obj.ParentTag != null) && (Obj.ParentTag.GetType() == typeof(cListGeometric3DObject)))
                            {
                                CompleteMenu.Items.Add(((cListGeometric3DObject)Obj.ParentTag).GetContextMenu(Input));
                            }
                            //Obj.Tag;
                        }

                        if (this.Input.ListObject[i].GetType().BaseType.BaseType == typeof(cObject3D))
                        {
                            cObject3D TmpObj = (cObject3D)this.Input.ListObject[i];
                            if (TmpObj.Tag == null) continue;

                            if (TmpObj.Tag.GetType() == typeof(cWell))
                            {
                                cWell TmpWell = (cWell)(TmpObj.Tag);

                                foreach (var item in TmpWell.GetExtendedContextMenu())
                                    CompleteMenu.Items.Add(item);
                            }
                            else if (TmpObj.Tag.GetType() == typeof(cPlate))
                            {
                                cPlate TmpPlate = (cPlate)(TmpObj.Tag);

                                CompleteMenu.Items.Add(TmpPlate.GetExtendedContextMenu());

                            }
                            else if (TmpObj.Tag.GetType() == typeof(cDescriptorType))
                            {
                                cDescriptorType TmpDesc = (cDescriptorType)(TmpObj.Tag);

                                foreach (var item in TmpDesc.GetExtendedContextMenu())
                                    CompleteMenu.Items.Add(item);

                            }

                        }

                        break;
                    }

                }
            }

            CompleteMenu.Items.Add(ToolStripMenuItem_World);

            ToolStripMenuItem ToolStripMenuItem_refresh = new ToolStripMenuItem("Refresh");
            CompleteMenu.Items.Add(ToolStripMenuItem_refresh);
            ToolStripMenuItem_refresh.Click += new System.EventHandler(this.ToolStripMenuItem_refresh);

            CompleteMenu.Items.Add(ToolStripMenuItem_refresh);

            ToolStripMenuItem ToolStripMenuItem_CopyViewToClipBoard = new ToolStripMenuItem("Copy View To Clipboard");
            ToolStripMenuItem_CopyViewToClipBoard.ShowShortcutKeys = true;
            ToolStripMenuItem_CopyViewToClipBoard.ShortcutKeys = Keys.Control | Keys.C;
            CompleteMenu.Items.Add(ToolStripMenuItem_CopyViewToClipBoard);
            ToolStripMenuItem_CopyViewToClipBoard.Click += new System.EventHandler(this.ToolStripMenuItem_CopyViewToClipBoard);

            //ToolStripMenuItem ToolStripMenuItem_DisplayElevationMap = new ToolStripMenuItem("Display Elevation Map");
            //CompleteMenu.Items.Add(ToolStripMenuItem_DisplayElevationMap);
            //ToolStripMenuItem_DisplayElevationMap.Click += new System.EventHandler(this.DisplayElevationMap);

            //#region display options

            //ToolStripMenuItem ToolStripMenuItem_DisplayOptions = new ToolStripMenuItem("Display options");
            //CompleteMenu.Items.Add(ToolStripMenuItem_DisplayOptions);

            //this.ToolStripMenuItem_DisplayOptionsDispValues = new ToolStripMenuItem("Display values");
            //ToolStripMenuItem_DisplayOptionsDispValues.CheckOnClick = true;
            //ToolStripMenuItem_DisplayOptionsDispValues.Checked = this.IsDisplayValues;
            //ToolStripMenuItem_DisplayOptions.DropDownItems.Add(ToolStripMenuItem_DisplayOptionsDispValues);
            //ToolStripMenuItem_DisplayOptionsDispValues.Click += new System.EventHandler(this.ToolStripMenuItem_DisplayOptionsDisValues);

            //#endregion

            CompleteMenu.Show(Control.MousePosition);
        }
Exemple #51
0
        void RenderWindow_KeyPressEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            sbyte KeyCode = this.iren.GetKeyCode();

            // R : Reset view
            //if (KeyCode == 114)
            //{
            //    //ren1.GetActiveCamera().SetPosition(0,0,1);
            //    ren1.SetActiveCamera(Vtk_CameraViewOrientation);
            //    Render();
            //}

            if (KeyCode == 114)
            {
                this.ren1.ResetCamera();
                double[] fp = ren1.GetActiveCamera().GetFocalPoint();
                double[] p = ren1.GetActiveCamera().GetPosition();
                double dist = Math.Sqrt((p[0] - fp[0]) * (p[0] - fp[0]) + (p[1] - fp[1]) * (p[1] - fp[1]) + (p[2] - fp[2]) * (p[2] - fp[2]));
                ren1.GetActiveCamera().SetPosition(fp[0], fp[1], fp[2] + dist);
                ren1.GetActiveCamera().SetViewUp(0.0, 1.0, 0.0);

                this.Render();

                //renWin.Render();

            }
            // e : export file
            if (KeyCode == 101)
            {
                // save Histogram
                SaveFileDialog SaveFileDialogCurrScene = new SaveFileDialog();
                SaveFileDialogCurrScene.OverwritePrompt = true;
                SaveFileDialogCurrScene.AutoUpgradeEnabled = true;
                SaveFileDialogCurrScene.Filter = "VRML files (*.vrml)|*.vrml| OBJ files (*.obj)|*.obj";
                DialogResult result = SaveFileDialogCurrScene.ShowDialog();
                if (result == DialogResult.OK)
                {
                    string FileName = SaveFileDialogCurrScene.FileName;
                    if (FileName.EndsWith(".vrml"))
                    {
                        vtkVRMLExporter Exporter = vtkVRMLExporter.New();
                        Exporter.SetRenderWindow(this.renWin);
                        Exporter.SetFileName(FileName);
                        Exporter.Write();
                    }
                    else if (FileName.EndsWith(".obj"))
                    {
                        vtkOBJExporter obj = vtkOBJExporter.New();
                        obj.SetInput(this.renWin);
                        obj.SetFilePrefix(FileName.Remove(FileName.Length - 4));
                        obj.Write();
                    }
                }
                else
                {
                    return;
                }
            }

            int[] Pos = new int[2];
            Pos = this.iren.GetLastEventPosition();

            vtkPicker Picker = vtkPicker.New();
            Picker.SetTolerance(1e-6);
            int numActors = Picker.Pick(Pos[0], Pos[1], 0, this.ren1);
            if (numActors != 1) return;
            vtkActor PickedActor = Picker.GetActor();

            //Console.WriteLine(KeyCode.ToString());

            if (KeyCode == 119)
            {
                PickedActor.GetProperty().SetRepresentationToWireframe();
                renWin.Render();
            }

            if (KeyCode == 115)
            {
                PickedActor.GetProperty().SetRepresentationToSurface();
                renWin.Render();
            }

            if (KeyCode == 45)
            {
                double CurrentOpacity = PickedActor.GetProperty().GetOpacity() - 0.01;

                if (CurrentOpacity < 0.01) CurrentOpacity = 0.01;

                PickedActor.GetProperty().SetOpacity(CurrentOpacity);
                renWin.Render();
            }

            if (KeyCode == 43)
            {
                PickedActor.GetProperty().SetOpacity(PickedActor.GetProperty().GetOpacity() + 0.01);
                renWin.Render();
            }

            // P
            //if ((KeyCode == 112) || (KeyCode == 110))
            //{
            //    int classe = 1;
            //    if (KeyCode == 110) classe = 0;

            //    for (int i = 0; i < ListObject.Count; i++)
            //    {
            //        if (ListObject[i].GetActor() == PickedActor)
            //        {
            //            cBiological3DVolume TmpVol = (cBiological3DVolume)ListObject[i];

            //            if (CurrentTable == null)
            //            {
            //                CurrentTable = new DataTable();
            //                List<string> Descriptors = TmpVol.Information.GetDescriptorNames();

            //                for (int iDesc = 0; iDesc < Descriptors.Count; iDesc++)
            //                    CurrentTable.Columns.Add(new DataColumn(Descriptors[iDesc], typeof(double)));
            //                CurrentTable.Columns.Add(new DataColumn("Class", typeof(double)));

            //                if (pDataGridView == null) Console.WriteLine("c3Dworld does not contains the link to the datagridview control");
            //            }

            //            List<double> Res = TmpVol.Information.GetInformation();

            //            List<object> objectNumbers = new List<object>();
            //            foreach (double number in Res)
            //                objectNumbers.Add((object)number);
            //            objectNumbers.Add(classe);
            //            CurrentTable.Rows.Add();

            //            for (int Idx = 0; Idx <= Res.Count; Idx++)
            //                CurrentTable.Rows[CurrentTable.Rows.Count - 1][Idx] = objectNumbers[Idx];

            //            //  pDataGridView.DataSource = CurrentTable;
            //            //  pDataGridView.Update();

            //            cGeometric3DObject TmpActor;
            //            if (KeyCode == 112) TmpActor = new cGeometric3DObject(PickedActor, Color.Red);
            //            else TmpActor = new cGeometric3DObject(PickedActor, Color.LightGreen);
            //            renWin.Render();
            //        }
            //    }
            //}
        }
Exemple #52
0
 void RenderWindow_LeftButtonPressEvt(vtkObject sender, vtkObjectEventArgs e)
 {
 }
 /// <summary>
 /// Callback function for lineWidget.InteractionEvt
 /// </summary>
 public static void GenerateStreamlines(vtkObject sender, vtkObjectEventArgs e)
 {
     lineWidget.GetPolyData(seeds);
 }
Exemple #54
0
        private void RenderWindow_KeyPressEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            sbyte KeyCode = this.iren.GetKeyCode();

            int AltK = this.iren.GetAltKey();
            int CtrlK = this.iren.GetControlKey();

            //> >>        s = self.iren.GetShiftKey()
            //> >>        kc = self.iren.GetKeyCode()
            //> >>        ks = self.iren.GetKeySym()

            if (KeyCode == 103)
            {
                foreach (var item in this.Input.ListObject)
                {
                    if (item.ObjectType == "Geometrical")
                        item.vtk_Actor.GetProperty().SetOpacity(1);
                }
            }
            if (KeyCode == 98)
            {
                foreach (var item in this.Input.ListObject)
                {
                    if (item.ObjectType == "Geometrical")
                        item.vtk_Actor.GetProperty().SetOpacity(0);
                }
            }
            if (KeyCode == 104)
            {
                foreach (var item in this.Input.ListObject)
                {
                    if (item.ObjectType != "Geometrical")
                        item.vtk_Actor.GetProperty().SetOpacity(1);
                }
            }
            if (KeyCode == 110)
            {
                foreach (var item in this.Input.ListObject)
                {
                    if (item.ObjectType != "Geometrical")
                        item.vtk_Actor.GetProperty().SetOpacity(0);
                }
            }
            if (KeyCode == 106)
            {
                foreach (var item in this.Input.ListVolume)
                {
                    item.vtk_volume.VisibilityOn();
                }
            }
            if (KeyCode == 109)
            {
                foreach (var item in this.Input.ListVolume)
                {
                    item.vtk_volume.VisibilityOff();
                }
            }
            if (KeyCode == 45)
            {
                foreach (var item in this.Input.ListObject)
                {
                    if (item.ObjectType == "Geometrical") continue;
                    double CurrentOpacity = item.vtk_Actor.GetProperty().GetOpacity() - 0.01;
                    if (CurrentOpacity < 0.01) CurrentOpacity = 0.01;
                    item.vtk_Actor.GetProperty().SetOpacity(CurrentOpacity);
                }
                //renWin.Render();
            }

            if (KeyCode == 43)
            {
                foreach (var item in this.Input.ListObject)
                {
                    if (item.ObjectType == "Geometrical") continue;
                    double CurrentOpacity = item.vtk_Actor.GetProperty().GetOpacity() + 0.01;
                    if (CurrentOpacity > 1) CurrentOpacity = 1;
                    item.vtk_Actor.GetProperty().SetOpacity(CurrentOpacity);
                }
                //renWin.Render();
            }

            //if (KeyCode == 119)
            //{
            //    foreach (var item in this.Input.ListObject)
            //    {
            //        if (item.ObjectType == "Geometrical") continue;
            //        item.vtk_Actor.GetProperty().SetRepresentationToWireframe();
            //    }
            //}

            //if (KeyCode == 115)
            //{
            //    foreach (var item in this.Input.ListObject)
            //    {
            //        if (item.ObjectType == "Geometrical") continue;
            //        item.vtk_Actor.GetProperty().SetRepresentationToSurface();
            //    }
            //}

            //base.CurrentPanel.Refresh();
        }
 public void boxInteractionCallback(vtkObject sender, vtkObjectEventArgs e)
 {
     vtkBoxWidget2 wid = vtkBoxWidget2.SafeDownCast(sender);
     if (wid != null)
     {
         vtkTransform vtk_transform = vtkTransform.New();
         vtkBoxRepresentation rep = (vtkBoxRepresentation)wid.GetRepresentation();
         rep.GetTransform(vtk_transform);
         sphereActorList[RegionsListBox.SelectedIndex].SetUserTransform(vtk_transform);
         int reg_idx = RegionsListBox.SelectedIndex;
         this.TransferVTKBoxWidgetTransformToMatrix(this.configurator.SimConfig.scenario.regions[reg_idx].region_box_spec);
     }
 }
 public void PlaneZMoved(vtkObject sender, vtkObjectEventArgs e)
 {
     _thirdVizualization2D.PlaneMoved(vtkImagePlaneWidget.SafeDownCast(sender));
 }
Exemple #57
0
        static void PrintCameraPosition(vtkObject caller, uint eventId,
            object clientData, IntPtr callData)
        {
            System.Diagnostics.Debug.WriteLine("Callback has been called.");
            if ( caller is vtkRenderer )
            {
                vtkRenderer ren = (vtkRenderer) caller;
                double[] position = ren.GetActiveCamera().GetPosition();
                Console.WriteLine(String.Format("{0}, {1}, {2}",

                    position[0], position[1], position[2]));
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("Caller is not a renderer.");
            }
        }
Exemple #58
0
        /// <summary>
        /// Move the slice and the trackbar when the mouse is dragged on the render window
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void iren_MouseMoveEvt(vtkObject sender, vtkObjectEventArgs e)
        {
            if (this.MouseDown1 && this.ImageActor != null)
            {
                int[] lastPos = this.Interactor.GetLastEventPosition();
                int[] size = this.RenderWindow.GetSize();
                int[] dim = this.ImageActor.GetInput().GetDimensions();

                int newSlice = (int)((double)(dim[2] - 1.0) * (double)(lastPos[1]) / (double)(size[1]));

                if (newSlice >= 0 && newSlice < dim[2])
                {
                    this.trackBar1.Value = newSlice;
                    this.Clip.SetOutputWholeExtent(0, dim[0] - 1, 0, dim[1] - 1, newSlice, newSlice);
                    this.ImageActor.SetDisplayExtent(0, dim[0] - 1, 0, dim[1] - 1, newSlice, newSlice);
                    this.Renderer.ResetCameraClippingRange();
                    this.RenderWindow.Render();
                }
            }
        }
Exemple #59
0
        /// <summary>
        /// Slave camera 1
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Camera2_Modified(vtkObject sender, vtkObjectEventArgs e)
        {
            //don't execute this if any camera is being modified
            if (!ModifyingCamera)
            {
                ModifyingCamera = true;

                vtkCamera camera1;
                vtkCamera camera2;

                camera2 = renderWindowControl2.RenderWindow.GetRenderers().GetFirstRenderer().GetActiveCamera();
                camera1 = renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer().GetActiveCamera();

                //Set camera 1's position to camera 2's position
                camera1.SetPosition(camera2.GetPosition()[0], camera2.GetPosition()[1], camera2.GetPosition()[2]);
                camera1.SetFocalPoint(camera2.GetFocalPoint()[0], camera2.GetFocalPoint()[1], camera2.GetFocalPoint()[2]);
                camera1.SetRoll(camera2.GetRoll());

                renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer().ResetCameraClippingRange();
                renderWindowControl1.RenderWindow.Render();
                ModifyingCamera = false;
            }
        }
Exemple #60
0
 /// <summary>
 /// Tell the application when the mouse is being dragged
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void iren_LeftButtonReleaseEvt(vtkObject sender, vtkObjectEventArgs e)
 {
     this.MouseDown1 = false;
 }