public void ComputeClipPlaneDistances_ClosestObjectCoincidentWithCamera_NearClipDistance_IsDefault()
        {
            double near, far;
            var    planeOrigin = farPoint.Bounds().Minimum;
            var    planeNormal = new Vector3(1, 0, 0);
            var    geometry    = new GeometryModel3D[] { closePoint, farPoint, cube };

            HelixWatch3DViewModel.ComputeClipPlaneDistances(planeOrigin, planeNormal, geometry, 0.001, out near, out far,
                                                            HelixWatch3DViewModel.DefaultNearClipDistance, HelixWatch3DViewModel.DefaultFarClipDistance);
            Assert.AreEqual(near, HelixWatch3DViewModel.DefaultNearClipDistance);
        }
        public void ComputeClipPlaneDistances_ObjectsInFrontAndBehind_ClipDistance_IsCorrect()
        {
            double near, far;
            var    planeOrigin = new Vector3(-10, 0, 0);
            var    planeNormal = new Vector3(1, 0, 0);
            var    geometry    = new GeometryModel3D[] { closePoint, farPoint, cube };

            HelixWatch3DViewModel.ComputeClipPlaneDistances(planeOrigin, planeNormal, geometry, 0.001, out near, out far,
                                                            HelixWatch3DViewModel.DefaultNearClipDistance, HelixWatch3DViewModel.DefaultFarClipDistance);
            Assert.Less(near, closePoint.Bounds().GetCorners().Min(c => c.DistanceToPlane(planeOrigin, planeNormal)));
            Assert.Greater(far, farPoint.Bounds().GetCorners().Max(c => c.DistanceToPlane(planeOrigin, planeNormal)));
        }
        public void ComputeClipPlaneDistances_AllObjectsBehind__ClipDistances_AreDefault()
        {
            double near, far;
            var    planeOrigin = new Vector3(50000, 0, 0);
            var    planeNormal = new Vector3(1, 0, 0);
            var    geometry    = new GeometryModel3D[] { closePoint, farPoint, cube };

            HelixWatch3DViewModel.ComputeClipPlaneDistances(planeOrigin, planeNormal, geometry, 0.001, out near, out far,
                                                            HelixWatch3DViewModel.DefaultNearClipDistance, HelixWatch3DViewModel.DefaultFarClipDistance);
            Assert.AreEqual(near, HelixWatch3DViewModel.DefaultNearClipDistance);
            Assert.AreEqual(far, HelixWatch3DViewModel.DefaultFarClipDistance);
        }