Пример #1
0
        /// <summary>
        /// Compute a new translation for the given camera position and returns it.
        /// </summary>
        /// <param name="cameraPosition"></param>
        /// <returns></returns>
        public Vector3 computeAdjustedTranslation(CameraPosition cameraPosition)
        {
            if (cameraPosition.UseIncludePoint && cameraPosition.IncludePoint.isNumber())
            {
                return(SceneViewWindow.computeIncludePointAdjustedPosition(Camera.getAspectRatio(), Camera.getFOVy(), Camera.getProjectionMatrix(), cameraPosition.Translation, cameraPosition.LookAt, cameraPosition.IncludePoint));
            }

            return(cameraPosition.Translation);
        }
 public override void processIncludePoint(Camera camera)
 {
     if (currentIncludePoint.HasValue)
     {
         float   duration   = GuiFrameworkCamerasInterface.CameraTransitionTime;
         Vector3 inclLookAt = LookAt;
         Vector3 inclTrans  = Translation;
         if (automaticMovement)
         {
             duration   = animationDuration - totalTime;
             inclLookAt = targetLookAt;
             inclTrans  = targetTranslation;
         }
         setNewPosition(SceneViewWindow.computeIncludePointAdjustedPosition(camera.getAspectRatio(), camera.getFOVy(), camera.getProjectionMatrix(), inclTrans, inclLookAt, currentIncludePoint.Value), inclLookAt, duration, easingFunction);
     }
 }