LEADTOOLS Medical (Leadtools.Medical3D assembly)

Planes Property (Medical3DObject)

Show in webframe





Gets the clipping planes array used to clip the 3D object when it is rendered.
Syntax
public Medical3DPlane[] Planes {get;}
'Declaration
 
Public ReadOnly Property Planes As Medical3DPlane()
'Usage
 
Dim instance As Medical3DObject
Dim value() As Medical3DPlane
 
value = instance.Planes

            

            
public:
property array<Medical3DPlane^>^ Planes {
   array<Medical3DPlane^>^ get();
}

Property Value

Medical3DPlane that represents the array of clipping planes.
Remarks
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)

            Dim Normal As Point3D = New Point3D(1, 0, 0)
            Dim Point As Point3D = New Point3D(0, 0, 0)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Normal = Normal
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Point = Point
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Axis = Medical3DAxis.X
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Space = Medical3DSpace.Object
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Enabled = True

            Normal = New Point3D(0, 1.0f, 0)
            Point = New Point3D(0, 0.5f, 0)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).SetPlanePoints(Point, Normal)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Axis = Medical3DAxis.X
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Space = Medical3DSpace.View
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Move(0.1f)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Rotate(10)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Enabled = True


            _medical3DControl.ObjectsContainer.Objects(0).EnableClippingPlanes = True

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

            _medical3DControl.AddAction(MedicalViewerActionType.RotatePlane)
            _medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, 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);

                Point3D Normal = new Point3D(1, 0, 0);
                Point3D Point = new Point3D(0, 0, 0);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Normal = Normal;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Point = Point;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Axis = Medical3DAxis.X;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Space = Medical3DSpace.Object;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Enabled = true;

                Normal = new Point3D(0, 1.0f, 0);
                Point = new Point3D(0, 0.5f, 0);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].SetPlanePoints(Point, Normal);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Axis = Medical3DAxis.X;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Space = Medical3DSpace.View;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Move(0.1f);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Rotate(10);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Enabled = true;


                _medical3DControl.ObjectsContainer.Objects[0].EnableClippingPlanes = true;

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

                _medical3DControl.AddAction(MedicalViewerActionType.RotatePlane);
                _medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, 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)

            Dim Normal As Point3D = New Point3D(1, 0, 0)
            Dim Point As Point3D = New Point3D(0, 0, 0)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Normal = Normal
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Point = Point
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Axis = Medical3DAxis.X
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Space = Medical3DSpace.Object
            _medical3DControl.ObjectsContainer.Objects(0).Planes(0).Enabled = True

            Normal = New Point3D(0, 1.0f, 0)
            Point = New Point3D(0, 0.5f, 0)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).SetPlanePoints(Point, Normal)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Axis = Medical3DAxis.X
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Space = Medical3DSpace.View
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Move(0.1f)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Rotate(10)
            _medical3DControl.ObjectsContainer.Objects(0).Planes(2).Enabled = True


            _medical3DControl.ObjectsContainer.Objects(0).EnableClippingPlanes = True

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

            _medical3DControl.AddAction(MedicalViewerActionType.RotatePlane)
            _medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, 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);

                Point3D Normal = new Point3D(1, 0, 0);
                Point3D Point = new Point3D(0, 0, 0);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Normal = Normal;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Point = Point;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Axis = Medical3DAxis.X;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Space = Medical3DSpace.Object;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Enabled = true;

                Normal = new Point3D(0, 1.0f, 0);
                Point = new Point3D(0, 0.5f, 0);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].SetPlanePoints(Point, Normal);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Axis = Medical3DAxis.X;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Space = Medical3DSpace.View;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Move(0.1f);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Rotate(10);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Enabled = true;


                _medical3DControl.ObjectsContainer.Objects[0].EnableClippingPlanes = true;

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

                _medical3DControl.AddAction(MedicalViewerActionType.RotatePlane);
                _medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, 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);

                Point3D Normal = new Point3D(1, 0, 0);
                Point3D Point = new Point3D(0, 0, 0);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Normal = Normal;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Point = Point;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Axis = Medical3DAxis.X;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Space = Medical3DSpace.Object;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[0].Enabled = true;

                Normal = new Point3D(0, 1.0f, 0);
                Point = new Point3D(0, 0.5f, 0);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].SetPlanePoints(Point, Normal);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Axis = Medical3DAxis.X;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Space = Medical3DSpace.View;
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Move(0.1f);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Rotate(10);
                _medical3DControl.ObjectsContainer.Objects[0].Planes[2].Enabled = true;


                _medical3DControl.ObjectsContainer.Objects[0].EnableClippingPlanes = true;

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

                _medical3DControl.AddAction(MedicalViewerActionType.RotatePlane);
                _medical3DControl.SetAction(MedicalViewerActionType.RotatePlane, MedicalViewerMouseButtons.Right, 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