LEADTOOLS Medical (Leadtools.Medical3D assembly)

CameraMoved Event

Show in webframe





Occurs when the user moves the camera with the mouse using the MoveCamera action.
Syntax
public event EventHandler<Medical3DCameraEventArgs> CameraMoved
'Declaration
 
Public Event CameraMoved As EventHandler(Of Medical3DCameraEventArgs)
'Usage
 
Dim instance As Medical3DControl
Dim handler As EventHandler(Of Medical3DCameraEventArgs)
 
AddHandler instance.CameraMoved, handler

            

            
public:
event EventHandler<Medical3DCameraEventArgs^>^ CameraMoved
Remarks
The object will move in the opposite direction of the mouse movement.
Example
      Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.MedicalViewer
      Imports Leadtools.Medical3D

      Public Sub Medical3DControlExample()
         Dim LoadObject As Medical3DLoadDICOMSeriesExamples = New Medical3DLoadDICOMSeriesExamples()
         Dim output As MedicalViewerSeriesManager = LoadObject.LoadJamesHead()

         Dim form As MainForm1 = New MainForm1(output)
         form.ShowDialog()
      End Sub

      ' MainForm1 will be the owner of the medical viewer control.
      Private Class MainForm1 : Inherits Form
         Private _medical3DControl As Medical3DControl

         Public Sub New(ByVal output As MedicalViewerSeriesManager)
            Dim _codecs As RasterCodecs = New RasterCodecs()
            Dim _image As RasterImage

            Dim codecsInformation As CodecsImageInfo

            _medical3DControl = New Medical3DControl()
            AddHandler SizeChanged, AddressOf MainForm1_SizeChanged
            AddHandler FormClosing, AddressOf MainForm1_FormClosing


            _medical3DControl.ObjectsContainer.Objects.Add(New Medical3DObject())

            Dim index As Integer

            codecsInformation = _codecs.GetInformation(CStr(output.Stacks(0).Items(0).Data), True)


            Dim width As Integer = codecsInformation.Width
            Dim height As Integer = codecsInformation.Height
            Dim depth As Integer = 256

            _medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientInit(depth)

            index = 0
            Do While index < depth

               _image = _codecs.Load(CStr(output.Stacks(0).Items(index).Data), 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1)
               _medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientSetFrame(_image, index, output.Stacks(0).Items(index).ImagePosition, True)
               index += 1
            Loop

            Dim spearator As String = ("\")
            Dim test As String() = output.Stacks(0).Items(0).ImageOrientation.Split(spearator.ToCharArray())
            Dim orientation As Single() = New Single(5) {}
            Dim i As Integer
            For i = 0 To 5
               orientation(i) = CSng(Convert.ToDouble(test(i)))
            Next i

            _medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientEnd(orientation, output.Stacks(0).PixelSpacing)

            _medical3DControl.AddAction(MedicalViewerActionType.Translate3DCamera)
            _medical3DControl.SetAction(MedicalViewerActionType.Translate3DCamera, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)

            _medical3DControl.SetTag(1, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "")

            AddHandler _medical3DControl.CameraMoved, AddressOf _medical3DControl_CameraMoved

            Controls.Add(_medical3DControl)
         End Sub

         Private Sub _medical3DControl_CameraMoved(ByVal sender As Object, ByVal e As Medical3DCameraEventArgs)
            Dim X As Single = _medical3DControl.ObjectsContainer.Camera.XOffset
            Dim Y As Single = _medical3DControl.ObjectsContainer.Camera.YOffset
            Dim Z As Single = _medical3DControl.ObjectsContainer.Camera.ZOffset
            _medical3DControl.EditTag(1, MedicalViewerTagAlignment.TopLeft, New MedicalViewerTagInformation(1, MedicalViewerTagAlignment.TopLeft, "X " & X.ToString() & "  Y " & Y.ToString() & "  Z " & Z.ToString(), MedicalViewerTagType.UserData))
         End Sub

         Private Sub MainForm1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
            _medical3DControl.Dispose()
         End Sub


         Private Sub MainForm1_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
            If Not _medical3DControl Is Nothing Then
               _medical3DControl.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
            End If
         End Sub
      End Class        using Leadtools;
        using Leadtools.Codecs;
        using Leadtools.MedicalViewer;
        using Leadtools.Medical3D;

        public void Medical3DControlExample()
        {
            Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
            MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();

            MainForm1 form = new MainForm1(output);
            form.ShowDialog();
        }

        // MainForm1 will be the owner of the medical viewer control.
        class MainForm1 : Form
        {
            private Medical3DControl _medical3DControl;

            public MainForm1(MedicalViewerSeriesManager output)
            {
                RasterCodecs _codecs = new RasterCodecs();
                RasterImage _image;

                CodecsImageInfo codecsInformation;

                _medical3DControl = new Medical3DControl();
                this.SizeChanged += new EventHandler(MainForm1_SizeChanged);
                this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);


                _medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject());

                int index;

                codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);


                int width = codecsInformation.Width;
                int height = codecsInformation.Height;
                int depth = 256;

                _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth);

                for (index = 0; index < depth; index++)
                {

                    _image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
                    _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
                }

                string spearator = ("\\");
                string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
                float[] orientation = new float[6];
                int i;
                for (i = 0; i < 6; i++)
                {
                    orientation[i] = (float)Convert.ToDouble(test[i]);
                }

                _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);

                _medical3DControl.AddAction(MedicalViewerActionType.Translate3DCamera);
                _medical3DControl.SetAction(MedicalViewerActionType.Translate3DCamera, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);

                _medical3DControl.SetTag(1, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "");

                _medical3DControl.CameraMoved += new EventHandler<Medical3DCameraEventArgs>(_medical3DControl_CameraMoved);

                Controls.Add(_medical3DControl);
            }

            void _medical3DControl_CameraMoved(object sender, Medical3DCameraEventArgs e)
            {
                float X = _medical3DControl.ObjectsContainer.Camera.XOffset;
                float Y = _medical3DControl.ObjectsContainer.Camera.YOffset;
                float Z = _medical3DControl.ObjectsContainer.Camera.ZOffset;
                _medical3DControl.EditTag(1, MedicalViewerTagAlignment.TopLeft, new MedicalViewerTagInformation(1, MedicalViewerTagAlignment.TopLeft, "X " + X.ToString() + "  Y " + Y.ToString() + "  Z " + Z.ToString(), MedicalViewerTagType.UserData));
            }

            void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
            {
                 _medical3DControl.Dispose();
            }


            void MainForm1_SizeChanged(object sender, EventArgs e)
            {
                if (_medical3DControl != null)
                    _medical3DControl.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
            }
        }
      Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.MedicalViewer
      Imports Leadtools.Medical3D

      Public Sub Medical3DControlExample()
         Dim LoadObject As Medical3DLoadDICOMSeriesExamples = New Medical3DLoadDICOMSeriesExamples()
         Dim output As MedicalViewerSeriesManager = LoadObject.LoadJamesHead()

         Dim form As MainForm1 = New MainForm1(output)
         form.ShowDialog()
      End Sub

      ' MainForm1 will be the owner of the medical viewer control.
      Private Class MainForm1 : Inherits Form
         Private _medical3DControl As Medical3DControl

         Public Sub New(ByVal output As MedicalViewerSeriesManager)
            Dim _codecs As RasterCodecs = New RasterCodecs()
            Dim _image As RasterImage

            Dim codecsInformation As CodecsImageInfo

            _medical3DControl = New Medical3DControl()
            AddHandler SizeChanged, AddressOf MainForm1_SizeChanged
            AddHandler FormClosing, AddressOf MainForm1_FormClosing


            _medical3DControl.ObjectsContainer.Objects.Add(New Medical3DObject())

            Dim index As Integer

            codecsInformation = _codecs.GetInformation(CStr(output.Stacks(0).Items(0).Data), True)


            Dim width As Integer = codecsInformation.Width
            Dim height As Integer = codecsInformation.Height
            Dim depth As Integer = 256

            _medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientInit(depth)

            index = 0
            Do While index < depth

               _image = _codecs.Load(CStr(output.Stacks(0).Items(index).Data), 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1)
               _medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientSetFrame(_image, index, output.Stacks(0).Items(index).ImagePosition, True)
               index += 1
            Loop

            Dim spearator As String = ("\")
            Dim test As String() = output.Stacks(0).Items(0).ImageOrientation.Split(spearator.ToCharArray())
            Dim orientation As Single() = New Single(5) {}
            Dim i As Integer
            For i = 0 To 5
               orientation(i) = CSng(Convert.ToDouble(test(i)))
            Next i

            _medical3DControl.ObjectsContainer.Objects(0).MemoryEfficientEnd(orientation, output.Stacks(0).PixelSpacing)

            _medical3DControl.AddAction(MedicalViewerActionType.Translate3DCamera)
            _medical3DControl.SetAction(MedicalViewerActionType.Translate3DCamera, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)

            _medical3DControl.SetTag(1, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "")

            AddHandler _medical3DControl.CameraMoved, AddressOf _medical3DControl_CameraMoved

            Controls.Add(_medical3DControl)
         End Sub

         Private Sub _medical3DControl_CameraMoved(ByVal sender As Object, ByVal e As Medical3DCameraEventArgs)
            Dim X As Single = _medical3DControl.ObjectsContainer.Camera.XOffset
            Dim Y As Single = _medical3DControl.ObjectsContainer.Camera.YOffset
            Dim Z As Single = _medical3DControl.ObjectsContainer.Camera.ZOffset
            _medical3DControl.EditTag(1, MedicalViewerTagAlignment.TopLeft, New MedicalViewerTagInformation(1, MedicalViewerTagAlignment.TopLeft, "X " & X.ToString() & "  Y " & Y.ToString() & "  Z " & Z.ToString(), MedicalViewerTagType.UserData))
         End Sub

         Private Sub MainForm1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
            _medical3DControl.Dispose()
         End Sub


         Private Sub MainForm1_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
            If Not _medical3DControl Is Nothing Then
               _medical3DControl.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
            End If
         End Sub
      End Class        using Leadtools;
        using Leadtools.Codecs;
        using Leadtools.MedicalViewer;
        using Leadtools.Medical3D;

        public void Medical3DControlExample()
        {
            Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
            MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();

            MainForm1 form = new MainForm1(output);
            form.ShowDialog();
        }

        // MainForm1 will be the owner of the medical viewer control.
        class MainForm1 : Form
        {
            private Medical3DControl _medical3DControl;

            public MainForm1(MedicalViewerSeriesManager output)
            {
                RasterCodecs _codecs = new RasterCodecs();
                RasterImage _image;

                CodecsImageInfo codecsInformation;

                _medical3DControl = new Medical3DControl();
                this.SizeChanged += new EventHandler(MainForm1_SizeChanged);
                this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);


                _medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject());

                int index;

                codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);


                int width = codecsInformation.Width;
                int height = codecsInformation.Height;
                int depth = 256;

                _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth);

                for (index = 0; index < depth; index++)
                {

                    _image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
                    _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
                }

                string spearator = ("\\");
                string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
                float[] orientation = new float[6];
                int i;
                for (i = 0; i < 6; i++)
                {
                    orientation[i] = (float)Convert.ToDouble(test[i]);
                }

                _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);

                _medical3DControl.AddAction(MedicalViewerActionType.Translate3DCamera);
                _medical3DControl.SetAction(MedicalViewerActionType.Translate3DCamera, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);

                _medical3DControl.SetTag(1, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "");

                _medical3DControl.CameraMoved += new EventHandler<Medical3DCameraEventArgs>(_medical3DControl_CameraMoved);

                Controls.Add(_medical3DControl);
            }

            void _medical3DControl_CameraMoved(object sender, Medical3DCameraEventArgs e)
            {
                float X = _medical3DControl.ObjectsContainer.Camera.XOffset;
                float Y = _medical3DControl.ObjectsContainer.Camera.YOffset;
                float Z = _medical3DControl.ObjectsContainer.Camera.ZOffset;
                _medical3DControl.EditTag(1, MedicalViewerTagAlignment.TopLeft, new MedicalViewerTagInformation(1, MedicalViewerTagAlignment.TopLeft, "X " + X.ToString() + "  Y " + Y.ToString() + "  Z " + Z.ToString(), MedicalViewerTagType.UserData));
            }

            void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
            {
                 _medical3DControl.Dispose();
            }


            void MainForm1_SizeChanged(object sender, EventArgs e)
            {
                if (_medical3DControl != null)
                    _medical3DControl.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
            }
        }
        using Leadtools;
        using Leadtools.Codecs;
        using Leadtools.MedicalViewer;
        using Leadtools.Medical3D;

        public void Medical3DControlExample()
        {
            Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
            MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();

            MainForm1 form = new MainForm1(output);
            form.ShowDialog();
        }

        // MainForm1 will be the owner of the medical viewer control.
        class MainForm1 : Form
        {
            private Medical3DControl _medical3DControl;

            public MainForm1(MedicalViewerSeriesManager output)
            {
                RasterCodecs _codecs = new RasterCodecs();
                RasterImage _image;

                CodecsImageInfo codecsInformation;

                _medical3DControl = new Medical3DControl();
                this.SizeChanged += new EventHandler(MainForm1_SizeChanged);
                this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);


                _medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject());

                int index;

                codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);


                int width = codecsInformation.Width;
                int height = codecsInformation.Height;
                int depth = 256;

                _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth);

                for (index = 0; index < depth; index++)
                {

                    _image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
                    _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
                }

                string spearator = ("\\");
                string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
                float[] orientation = new float[6];
                int i;
                for (i = 0; i < 6; i++)
                {
                    orientation[i] = (float)Convert.ToDouble(test[i]);
                }

                _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);

                _medical3DControl.AddAction(MedicalViewerActionType.Translate3DCamera);
                _medical3DControl.SetAction(MedicalViewerActionType.Translate3DCamera, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);

                _medical3DControl.SetTag(1, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "");

                _medical3DControl.CameraMoved += new EventHandler<Medical3DCameraEventArgs>(_medical3DControl_CameraMoved);

                Controls.Add(_medical3DControl);
            }

            void _medical3DControl_CameraMoved(object sender, Medical3DCameraEventArgs e)
            {
                float X = _medical3DControl.ObjectsContainer.Camera.XOffset;
                float Y = _medical3DControl.ObjectsContainer.Camera.YOffset;
                float Z = _medical3DControl.ObjectsContainer.Camera.ZOffset;
                _medical3DControl.EditTag(1, MedicalViewerTagAlignment.TopLeft, new MedicalViewerTagInformation(1, MedicalViewerTagAlignment.TopLeft, "X " + X.ToString() + "  Y " + Y.ToString() + "  Z " + Z.ToString(), MedicalViewerTagType.UserData));
            }

            void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
            {
                 _medical3DControl.Dispose();
            }


            void MainForm1_SizeChanged(object sender, EventArgs e)
            {
                if (_medical3DControl != null)
                    _medical3DControl.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
            }
        }
Requirements

Target Platforms

See Also

Reference

Medical3DControl Class
Medical3DControl Members

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Medical3D requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features