Пример #1
0
        // ================================================
        // Function - GUI
        // ================================================
        private void btnOpen_Click(object sender, EventArgs e)
        {
            string path = System.IO.Path.Combine(Application.StartupPath, "Sample.viz");

            if (System.IO.File.Exists(path) == true)
            {
                txtPath.Text = path;

                txtMatrix.Text = "0.957904591,-0.000000000,-0.287086738,0.000000000,-0.283075368,0.166583667,-0.944520099,0.000000000,0.047823961,0.986027323,0.159571259,0.000000000,-178018.006091000,-812.822710430,66890.223468829,1.000000000";
            }
            else
            {
                OpenFileDialog dlg = new OpenFileDialog();
                dlg.Filter = "VIZ (*.viz)|*.viz";
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                txtPath.Text = dlg.FileName;
            }

            vizcore3d.Model.Open(txtPath.Text);

            string matrix = txtMatrix.Text;

            if (String.IsNullOrEmpty(matrix) == false)
            {
                VIZCore3D.NET.Data.Matrix3D m = new Data.Matrix3D(txtMatrix.Text);
                vizcore3d.Object3D.FromIndex(0).Transform(m);
            }

            vizcore3d.View.RotateCamera(Data.ShipbuildingCameraDirection.TOP);
            vizcore3d.View.FitToView();
        }
Пример #2
0
        private void InitTransform()
        {
            vizcore3d.Object3D.Transform.RestoreTransform(new List <int>()
            {
                0
            });

            string matrix = txtMatrix.Text;

            if (String.IsNullOrEmpty(matrix) == false)
            {
                VIZCore3D.NET.Data.Matrix3D m = new Data.Matrix3D(txtMatrix.Text);
                vizcore3d.Object3D.FromIndex(0).Transform(m);
            }
        }
Пример #3
0
        private VIZCore3D.NET.Data.Matrix3D GetMatrix()
        {
            VIZCore3D.NET.Data.Matrix3D matrix = new Data.Matrix3D();

            matrix.Matrix[0] = Convert.ToSingle(txtMatrix11.Text);
            matrix.Matrix[1] = Convert.ToSingle(txtMatrix12.Text);
            matrix.Matrix[2] = Convert.ToSingle(txtMatrix13.Text);

            matrix.Matrix[3] = Convert.ToSingle(txtMatrix21.Text);
            matrix.Matrix[4] = Convert.ToSingle(txtMatrix22.Text);
            matrix.Matrix[5] = Convert.ToSingle(txtMatrix23.Text);

            matrix.Matrix[6] = Convert.ToSingle(txtMatrix31.Text);
            matrix.Matrix[7] = Convert.ToSingle(txtMatrix32.Text);
            matrix.Matrix[8] = Convert.ToSingle(txtMatrix33.Text);

            matrix.Matrix[9]  = Convert.ToSingle(txtMatrix41.Text);
            matrix.Matrix[10] = Convert.ToSingle(txtMatrix42.Text);
            matrix.Matrix[11] = Convert.ToSingle(txtMatrix43.Text);

            return(matrix);
        }
Пример #4
0
        private void View_OnViewDefaultMouseMoveEvent(object sender, MouseEventArgs e)
        {
            VIZCore3D.NET.Data.CameraData camera = vizcore3d.View.GetCameraData();

            VIZCore3D.NET.Data.Matrix3D matrix = new Data.Matrix3D(camera.Matrix);
            VIZCore3D.NET.Data.Vector3D vector = matrix.GetRotation();

            int x = Convert.ToInt32(vector.X); // X축 회전 각도
            int y = Convert.ToInt32(vector.Y); // Y축 회전 각도
            int z = Convert.ToInt32(vector.Z); // Z축 회전 각도

            x = Math.Abs(x % 360);
            y = Math.Abs(y % 360);
            z = Math.Abs(z % 360);

            tbX.Value = x;
            tbY.Value = y;
            tbZ.Value = z;

            XOffset = x;
            YOffset = y;
            ZOffset = z;

            txtX.Invoke(new EventHandler(delegate
            {
                txtX.Text = x.ToString();
            }));

            txtY.Invoke(new EventHandler(delegate
            {
                txtY.Text = y.ToString();
            }));

            txtZ.Invoke(new EventHandler(delegate
            {
                txtZ.Text = z.ToString();
            }));
        }