LEADTOOLS Medical (Leadtools.Medical3D assembly)

RotateX Method (Medical3DObject)

Show in webframe





The amount of rotation on the x-axis.
Rotates the 3D object in the container by a specified amount on the x-axis.
Syntax
public void RotateX( 
   float x
)
'Declaration
 
Public Sub RotateX( _
   ByVal x As Single _
) 
'Usage
 
Dim instance As Medical3DObject
Dim x As Single
 
instance.RotateX(x)

            

            
public:
void RotateX( 
   float x
) 

Parameters

x
The amount of rotation on the x-axis.
Remarks
This will add the amount of rotation to the current rotation angle of the 3D object.
Example
      Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.MedicalViewer
      Imports Leadtools.Medical3D

      <Test> _
      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)

            ' rotate 3D object based its axis
            _medical3DControl.ObjectsContainer.Space = Medical3DSpace.Object
            _medical3DControl.ObjectsContainer.Objects(0).RotateX(10) ' rotate 3D object around its horizontal axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateY(20) ' rotate 3D object around its Vertical axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateZ(180) ' flip 3D object around its depth axis.

            ' and then, rotate 3D object based viewer axis
            _medical3DControl.ObjectsContainer.Space = Medical3DSpace.View
            _medical3DControl.ObjectsContainer.Objects(0).RotateX(180) ' rotate 3D object around its horizontal axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateY(0) ' rotate 3D object around its Vertical axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateZ(0) ' flip 3D object around its depth axis.

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

            Controls.Add(_medical3DControl)
         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);

                // rotate 3D object based its axis
                _medical3DControl.ObjectsContainer.Space = Medical3DSpace.Object;
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(10);// rotate 3D object around its horizontal axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(20);// rotate 3D object around its Vertical axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(180);// flip 3D object around its depth axis.

                // and then, rotate 3D object based viewer axis
                _medical3DControl.ObjectsContainer.Space = Medical3DSpace.View;
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(180);// rotate 3D object around its horizontal axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(0);// rotate 3D object around its Vertical axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(0);// flip 3D object around its depth axis.

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

                Controls.Add(_medical3DControl);
            }

            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

      <Test> _
      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)

            ' rotate 3D object based its axis
            _medical3DControl.ObjectsContainer.Space = Medical3DSpace.Object
            _medical3DControl.ObjectsContainer.Objects(0).RotateX(10) ' rotate 3D object around its horizontal axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateY(20) ' rotate 3D object around its Vertical axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateZ(180) ' flip 3D object around its depth axis.

            ' and then, rotate 3D object based viewer axis
            _medical3DControl.ObjectsContainer.Space = Medical3DSpace.View
            _medical3DControl.ObjectsContainer.Objects(0).RotateX(180) ' rotate 3D object around its horizontal axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateY(0) ' rotate 3D object around its Vertical axis by 10 degree.
            _medical3DControl.ObjectsContainer.Objects(0).RotateZ(0) ' flip 3D object around its depth axis.

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

            Controls.Add(_medical3DControl)
         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);

                // rotate 3D object based its axis
                _medical3DControl.ObjectsContainer.Space = Medical3DSpace.Object;
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(10);// rotate 3D object around its horizontal axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(20);// rotate 3D object around its Vertical axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(180);// flip 3D object around its depth axis.

                // and then, rotate 3D object based viewer axis
                _medical3DControl.ObjectsContainer.Space = Medical3DSpace.View;
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(180);// rotate 3D object around its horizontal axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(0);// rotate 3D object around its Vertical axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(0);// flip 3D object around its depth axis.

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

                Controls.Add(_medical3DControl);
            }

            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);

                // rotate 3D object based its axis
                _medical3DControl.ObjectsContainer.Space = Medical3DSpace.Object;
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(10);// rotate 3D object around its horizontal axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(20);// rotate 3D object around its Vertical axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(180);// flip 3D object around its depth axis.

                // and then, rotate 3D object based viewer axis
                _medical3DControl.ObjectsContainer.Space = Medical3DSpace.View;
                _medical3DControl.ObjectsContainer.Objects[0].RotateX(180);// rotate 3D object around its horizontal axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateY(0);// rotate 3D object around its Vertical axis by 10 degree.
                _medical3DControl.ObjectsContainer.Objects[0].RotateZ(0);// flip 3D object around its depth axis.

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

                Controls.Add(_medical3DControl);
            }

            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

Medical3DObject Class
Medical3DObject 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