Example #1
0
        /// <summary>
        /// Creates an orbiting camera controller.
        /// </summary>
        /// <param name="window">The window were the event handlers should be registered.</param>
        /// <param name="distance">The distance.</param>
        /// <param name="fieldOfViewY">The field-of-view in y-direction.</param>
        /// <param name="nearClip">The near clip plane distance.</param>
        /// <param name="farClip">The far clip plane distance.</param>
        /// <returns></returns>
        public static Orbit CreateOrbitingCameraController(this INativeWindow window, float distance, float fieldOfViewY = 90f, float nearClip = 0.1f, float farClip = 1f)
        {
            var perspective = new Perspective(fieldOfViewY, nearClip, farClip);

            window.AddWindowAspectHandling(perspective);
            var orbit = new Orbit(distance, parent: perspective);

            window.AddMayaCameraEvents(perspective, orbit);
            return(orbit);
        }