/// <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); } }