public void refreshCamera(ProgramLimits bbox)
        {
            double zpos = Math.Max(bbox.SizeX, bbox.SizeY) / Math.Tan(60 * Math.PI / 360d);

            // TODO: set a sensible viewing distance dynamically
            var position = new Point3D(Math.Max(10d, bbox.SizeX) / 2d, Math.Max(10d, bbox.SizeY) / 2d, zpos);

            viewport.Camera.Position        = position;
            viewport.DefaultCamera.Position = position;
            //                viewport.CameraController.AddRotateForce(0.001, 0.001); // emulate move camera
        }
Beispiel #2
0
        public void refreshCamera(ProgramLimits bbox)
        {
            double zpos = Math.Max(5d, Math.Max(bbox.SizeX, bbox.SizeY) / Math.Tan(60 * Math.PI / 360d));

            // TODO: set a sensible viewing distance dynamically

            viewport.Camera.Position      = new Point3D((bbox.MaxX + bbox.MinX) / 2d, (bbox.MaxY + bbox.MinY) / 2d, zpos);
            viewport.Camera.LookDirection = new Vector3D(0, 0, -100);
            viewport.Camera.UpDirection   = new Vector3D(0, 1, 0.5);

            //                viewport.CameraController.AddRotateForce(0.001, 0.001); // emulate move camera
        }
        public void refreshCamera(ProgramLimits bbox)
        {
            if (model.LatheMode == LatheMode.Disabled)
            {
                double zpos = Math.Max(5d, Math.Max(bbox.SizeX, bbox.SizeY) / Math.Tan(camera.FieldOfView * Math.PI / 360d));

                // TODO: set a sensible viewing distance dynamically

                viewport.Camera.Position      = new Point3D((bbox.MaxX + bbox.MinX) / 2d, (bbox.MaxY + bbox.MinY) / 2d, zpos);
                viewport.Camera.LookDirection = new Vector3D(0d, 0d, -100d);
                viewport.Camera.UpDirection   = new Vector3D(0d, 1d, 0.5d);
            }
            else
            {
                double ypos = Math.Max(5d, Math.Max(bbox.SizeX, bbox.SizeZ) / Math.Tan(camera.FieldOfView * Math.PI / 360d));

                // TODO: set a sensible viewing distance dynamically

                viewport.Camera.Position      = new Point3D((bbox.MaxX + bbox.MinX) / 2d, -ypos, (bbox.MaxZ + bbox.MinZ) / 2d);
                viewport.Camera.LookDirection = new Vector3D(0d, 100d, 0d);
                viewport.Camera.UpDirection   = new Vector3D(-1d, 0d, 0d);
            }
            //                viewport.CameraController.AddRotateForce(0.001, 0.001); // emulate move camera
        }