private void App_CompositionTargertRenderingHandler(object source, EventArgs e) { if (CameraInteraction == null) { return; } var updateRequiredAfterCameraInteraction = CameraInteraction.UpdateAndCheckIfRedrawRequired(); if (!updateRequiredAfterCameraInteraction) { /** * If the current camera is an operator, and its parameter have been modified from * the outside (e.g. through animation or in the ParameterView) we have to update * the CameraSetup and the interaction. */ var shouldUpdateFromCamOp = _camSetupProvider.SelectedOperatorIsCamProvider && !CameraInteraction.SmoothedMovementInProgress; if (shouldUpdateFromCamOp) { var newPos = _camSetupProvider.OperatorCameraProvider.GetLastPosition(); var newTarget = _camSetupProvider.OperatorCameraProvider.GetLastTarget(); CameraInteraction.SetCameraAfterExternalChanges(newPos, newTarget); _camSetupProvider.ActiveCameraSetup.SetCameraAfterExternalChanges(newPos, newTarget); } return; } // Trigger update of other UI Elements like ParameterView // Because this will eventually triggere a RenderContent, we can skip rendering it here. if (_camSetupProvider.SelectedOperatorIsCamProvider) { App.Current.UpdateRequiredAfterUserInteraction = true; } RenderContent(); }
private void App_CompositionTargertRenderingHandler(object source, EventArgs e) { if (CameraInteraction == null || !CameraInteraction.UpdateAndCheckIfRedrawRequired()) { return; } // Check wether this is a basic op and works as a Camera if (_operator != null && _operator.InternalParts.Count > 0 && _operator.InternalParts[0].Func is ICameraProvider) { App.Current.UpdateRequiredAfterUserInteraction = true; } else { RenderContent(); } }