From f7cfda49e247b8caaee8b5382fb212437e1d4f5b Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sat, 4 Jan 2025 17:32:21 -0600 Subject: [PATCH 01/11] Temporary up vector/flag, working version of logic --- library/src/interactor_impl.cxx | 21 ++++++++++++++++++- .../private/module/vtkF3DInteractorStyle.cxx | 20 ++++++++++++++++++ vtkext/private/module/vtkF3DInteractorStyle.h | 13 ++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index 521f86e9c4..59e7c5a2ba 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -191,6 +191,7 @@ class interactor_impl::internals /* set camera coordinates back */ cam.setPosition(newPos); cam.setViewUp(up); + Style->EndTemporaryUp(); cam.resetToBounds(0.9); } @@ -687,6 +688,20 @@ interactor& interactor_impl::initCommands() { check_args(args, 1, "roll_camera"); this->Internals->Window.getCamera().roll(options::parse(args[0])); + + // Check if temporary view up is needed, otherwise remove it + vtkF3DRenderer* ren = vtkF3DRenderer::SafeDownCast(this->Internals->Style->GetCurrentRenderer()); + vector3_t viewUp = this->Internals->Window.getCamera().getViewUp(); + double renUp[3]; + ren->GetUpVector(renUp); + if (viewUp[0] == renUp[0] && viewUp[1] == renUp[1] && viewUp[2] == renUp[2]) + { + this->Internals->Style->EndTemporaryUp(); + } + else + { + this->Internals->Style->SetTemporaryUp(viewUp._Elems); + } }); this->addCommand("increase_light_intensity", @@ -758,7 +773,11 @@ interactor& interactor_impl::initCommands() this->addCommand("stop_interactor", [&](const std::vector&) { this->stop(); }); this->addCommand("reset_camera", - [&](const std::vector&) { this->Internals->Window.getCamera().resetToDefault(); }); + [&](const std::vector&) + { + this->Internals->Window.getCamera().resetToDefault(); + this->Internals->Style->EndTemporaryUp(); + }); this->addCommand("toggle_animation", [&](const std::vector&) { this->Internals->AnimationManager->ToggleAnimation(); }); diff --git a/vtkext/private/module/vtkF3DInteractorStyle.cxx b/vtkext/private/module/vtkF3DInteractorStyle.cxx index 608365f7f3..909d57039f 100644 --- a/vtkext/private/module/vtkF3DInteractorStyle.cxx +++ b/vtkext/private/module/vtkF3DInteractorStyle.cxx @@ -153,6 +153,10 @@ void vtkF3DInteractorStyle::Rotate() double dir[3]; camera->GetDirectionOfProjection(dir); double* up = ren->GetUpVector(); + if (this->UseTemporaryUp) + { + up = this->TemporaryUp; + } double dot = vtkMath::Dot(dir, up); @@ -332,3 +336,19 @@ void vtkF3DInteractorStyle::FindPokedRenderer(int vtkNotUsed(x), int vtkNotUsed( // No need for picking, F3D interaction are only with the first renderer this->SetCurrentRenderer(this->Interactor->GetRenderWindow()->GetRenderers()->GetFirstRenderer()); } + +//------------------------------------------------------------------------------ +void vtkF3DInteractorStyle::EndTemporaryUp() +{ + this->UseTemporaryUp = false; +} + +//------------------------------------------------------------------------------ +void vtkF3DInteractorStyle::SetTemporaryUp(const double *tempUp) +{ + this->UseTemporaryUp = true; + for (int i = 0; i < 3; i++) + { + this->TemporaryUp[i] = tempUp[i]; + } +} diff --git a/vtkext/private/module/vtkF3DInteractorStyle.h b/vtkext/private/module/vtkF3DInteractorStyle.h index 5e95a850d1..d1cc3cfd27 100644 --- a/vtkext/private/module/vtkF3DInteractorStyle.h +++ b/vtkext/private/module/vtkF3DInteractorStyle.h @@ -106,6 +106,13 @@ class vtkF3DInteractorStyle : public vtkInteractorStyleTrackballCamera */ void FindPokedRenderer(int vtkNotUsed(x), int vtkNotUsed(y)); + /** + * Temporary up vector to support rolled camera interaction + */ + void EndTemporaryUp(); + void SetTemporaryUp(const double *tempUp); + + protected: /** * Overridden to support being disabled @@ -113,6 +120,12 @@ class vtkF3DInteractorStyle : public vtkInteractorStyleTrackballCamera void Dolly(double factor) override; bool CameraMovementDisabled = false; + + /** + * Temporary up vector to support rolled camera interaction + */ + bool UseTemporaryUp = false; + double TemporaryUp[3] = { 0, 0, 0 }; }; #endif From 2f9064bb5457e8e716c2eb6187588de0ab52e17c Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sat, 4 Jan 2025 18:02:17 -0600 Subject: [PATCH 02/11] remove redundant code --- library/src/interactor_impl.cxx | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index 59e7c5a2ba..d6a78e00c8 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -688,20 +688,8 @@ interactor& interactor_impl::initCommands() { check_args(args, 1, "roll_camera"); this->Internals->Window.getCamera().roll(options::parse(args[0])); - - // Check if temporary view up is needed, otherwise remove it - vtkF3DRenderer* ren = vtkF3DRenderer::SafeDownCast(this->Internals->Style->GetCurrentRenderer()); - vector3_t viewUp = this->Internals->Window.getCamera().getViewUp(); - double renUp[3]; - ren->GetUpVector(renUp); - if (viewUp[0] == renUp[0] && viewUp[1] == renUp[1] && viewUp[2] == renUp[2]) - { - this->Internals->Style->EndTemporaryUp(); - } - else - { - this->Internals->Style->SetTemporaryUp(viewUp._Elems); - } + this->Internals->Style->SetTemporaryUp( + this->Internals->Window.getCamera().getViewUp()._Elems); }); this->addCommand("increase_light_intensity", From 6f8f5b012038f72e647ac701a6ba1dd45c8a5c67 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sat, 4 Jan 2025 19:07:45 -0600 Subject: [PATCH 03/11] get data by member function --- library/src/interactor_impl.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index d6a78e00c8..c66695cfb3 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -689,7 +689,7 @@ interactor& interactor_impl::initCommands() check_args(args, 1, "roll_camera"); this->Internals->Window.getCamera().roll(options::parse(args[0])); this->Internals->Style->SetTemporaryUp( - this->Internals->Window.getCamera().getViewUp()._Elems); + this->Internals->Window.getCamera().getViewUp().data()); }); this->addCommand("increase_light_intensity", From ff5356123974f750639a01e1764a491f57104d2c Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sun, 5 Jan 2025 14:41:43 -0600 Subject: [PATCH 04/11] formatting and coverage test --- application/testing/CMakeLists.txt | 1 + library/src/interactor_impl.cxx | 2 +- .../TestInteractionRollCameraRotation.png | 3 + .../TestInteractionRollCameraRotation.log | 682 ++++++++++++++++++ 4 files changed, 687 insertions(+), 1 deletion(-) create mode 100644 testing/baselines/TestInteractionRollCameraRotation.png create mode 100644 testing/recordings/TestInteractionRollCameraRotation.log diff --git a/application/testing/CMakeLists.txt b/application/testing/CMakeLists.txt index 65e268d69c..f84f98ffee 100644 --- a/application/testing/CMakeLists.txt +++ b/application/testing/CMakeLists.txt @@ -834,6 +834,7 @@ f3d_test(NAME TestInteractionOrthographicProjection DATA cow.vtp INTERACTION) #5 f3d_test(NAME TestInteractionZoomToggleOrthographicProjection DATA cow.vtp INTERACTION) #MouseWheel;5;Mousewheelx6;5 f3d_test(NAME TestInteractionRotateCameraMinus90 DATA f3d.glb INTERACTION) f3d_test(NAME TestInteractionRotateCamera90 DATA f3d.glb INTERACTION) +f3d_test(NAME TestInteractionRollCameraRotation DATA f3d.glb INTERACTION) f3d_test(NAME TestInteractionPanWithShift DATA f3d.glb INTERACTION) #Shift;LeftMouse;MouseMovements f3d_test(NAME TestInteractionConsoleOpen DATA f3d.glb INTERACTION UI) #Escape f3d_test(NAME TestInteractionConsoleOpenExit DATA f3d.glb REGEXP "Interactor has been stopped" INTERACTION NO_BASELINE UI) #Escape;exit;Return diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index c66695cfb3..880eb78b72 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -761,7 +761,7 @@ interactor& interactor_impl::initCommands() this->addCommand("stop_interactor", [&](const std::vector&) { this->stop(); }); this->addCommand("reset_camera", - [&](const std::vector&) + [&](const std::vector&) { this->Internals->Window.getCamera().resetToDefault(); this->Internals->Style->EndTemporaryUp(); diff --git a/testing/baselines/TestInteractionRollCameraRotation.png b/testing/baselines/TestInteractionRollCameraRotation.png new file mode 100644 index 0000000000..737c4cc4dc --- /dev/null +++ b/testing/baselines/TestInteractionRollCameraRotation.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b62df277309327bd517abc8f2d828b50a95e0dd48e5a8634374cf04edf039a83 +size 2062 diff --git a/testing/recordings/TestInteractionRollCameraRotation.log b/testing/recordings/TestInteractionRollCameraRotation.log new file mode 100644 index 0000000000..19544a4006 --- /dev/null +++ b/testing/recordings/TestInteractionRollCameraRotation.log @@ -0,0 +1,682 @@ +# StreamVersion 1.2 +RenderEvent 0 0 0 0 0 0 0 +KeyPressEvent 942 220 0 49 1 1 0 +CharEvent 942 220 0 49 1 1 0 +KeyReleaseEvent 942 220 0 49 1 1 0 + +KeyPressEvent 942 220 0 52 1 4 0 +CharEvent 942 220 0 52 1 4 0 +KeyReleaseEvent 942 220 0 52 1 4 0 + +LeftButtonPressEvent 942 220 0 0 0 4 0 +StartInteractionEvent 942 220 0 0 0 4 0 + +MouseMoveEvent 941 220 0 0 0 4 0 +RenderEvent 941 220 0 0 0 4 0 +InteractionEvent 941 220 0 0 0 4 0 +MouseMoveEvent 939 220 0 0 0 4 0 +RenderEvent 939 220 0 0 0 4 0 +InteractionEvent 939 220 0 0 0 4 0 +MouseMoveEvent 935 222 0 0 0 4 0 +RenderEvent 935 222 0 0 0 4 0 +InteractionEvent 935 222 0 0 0 4 0 +MouseMoveEvent 933 222 0 0 0 4 0 +RenderEvent 933 222 0 0 0 4 0 +InteractionEvent 933 222 0 0 0 4 0 +MouseMoveEvent 931 223 0 0 0 4 0 +RenderEvent 931 223 0 0 0 4 0 +InteractionEvent 931 223 0 0 0 4 0 +MouseMoveEvent 929 224 0 0 0 4 0 +RenderEvent 929 224 0 0 0 4 0 +InteractionEvent 929 224 0 0 0 4 0 +MouseMoveEvent 927 225 0 0 0 4 0 +RenderEvent 927 225 0 0 0 4 0 +InteractionEvent 927 225 0 0 0 4 0 +MouseMoveEvent 924 226 0 0 0 4 0 +RenderEvent 924 226 0 0 0 4 0 +InteractionEvent 924 226 0 0 0 4 0 +MouseMoveEvent 922 226 0 0 0 4 0 +RenderEvent 922 226 0 0 0 4 0 +InteractionEvent 922 226 0 0 0 4 0 +MouseMoveEvent 920 226 0 0 0 4 0 +RenderEvent 920 226 0 0 0 4 0 +InteractionEvent 920 226 0 0 0 4 0 +MouseMoveEvent 919 226 0 0 0 4 0 +RenderEvent 919 226 0 0 0 4 0 +InteractionEvent 919 226 0 0 0 4 0 +MouseMoveEvent 918 226 0 0 0 4 0 +RenderEvent 918 226 0 0 0 4 0 +InteractionEvent 918 226 0 0 0 4 0 +MouseMoveEvent 917 226 0 0 0 4 0 +RenderEvent 917 226 0 0 0 4 0 +InteractionEvent 917 226 0 0 0 4 0 +MouseMoveEvent 916 227 0 0 0 4 0 +RenderEvent 916 227 0 0 0 4 0 +InteractionEvent 916 227 0 0 0 4 0 +MouseMoveEvent 914 227 0 0 0 4 0 +RenderEvent 914 227 0 0 0 4 0 +InteractionEvent 914 227 0 0 0 4 0 +MouseMoveEvent 913 227 0 0 0 4 0 +RenderEvent 913 227 0 0 0 4 0 +InteractionEvent 913 227 0 0 0 4 0 +MouseMoveEvent 912 227 0 0 0 4 0 +RenderEvent 912 227 0 0 0 4 0 +InteractionEvent 912 227 0 0 0 4 0 +MouseMoveEvent 910 228 0 0 0 4 0 +RenderEvent 910 228 0 0 0 4 0 +InteractionEvent 910 228 0 0 0 4 0 +MouseMoveEvent 909 228 0 0 0 4 0 +RenderEvent 909 228 0 0 0 4 0 +InteractionEvent 909 228 0 0 0 4 0 +MouseMoveEvent 908 228 0 0 0 4 0 +RenderEvent 908 228 0 0 0 4 0 +InteractionEvent 908 228 0 0 0 4 0 +MouseMoveEvent 907 229 0 0 0 4 0 +RenderEvent 907 229 0 0 0 4 0 +InteractionEvent 907 229 0 0 0 4 0 +MouseMoveEvent 906 229 0 0 0 4 0 +RenderEvent 906 229 0 0 0 4 0 +InteractionEvent 906 229 0 0 0 4 0 +MouseMoveEvent 905 229 0 0 0 4 0 +RenderEvent 905 229 0 0 0 4 0 +InteractionEvent 905 229 0 0 0 4 0 +MouseMoveEvent 904 229 0 0 0 4 0 +RenderEvent 904 229 0 0 0 4 0 +InteractionEvent 904 229 0 0 0 4 0 +MouseMoveEvent 903 229 0 0 0 4 0 +RenderEvent 903 229 0 0 0 4 0 +InteractionEvent 903 229 0 0 0 4 0 +MouseMoveEvent 901 229 0 0 0 4 0 +RenderEvent 901 229 0 0 0 4 0 +InteractionEvent 901 229 0 0 0 4 0 +MouseMoveEvent 900 229 0 0 0 4 0 +RenderEvent 900 229 0 0 0 4 0 +InteractionEvent 900 229 0 0 0 4 0 +MouseMoveEvent 899 229 0 0 0 4 0 +RenderEvent 899 229 0 0 0 4 0 +InteractionEvent 899 229 0 0 0 4 0 +MouseMoveEvent 898 229 0 0 0 4 0 +RenderEvent 898 229 0 0 0 4 0 +InteractionEvent 898 229 0 0 0 4 0 +MouseMoveEvent 897 229 0 0 0 4 0 +RenderEvent 897 229 0 0 0 4 0 +InteractionEvent 897 229 0 0 0 4 0 +TimerEvent 897 229 0 0 0 4 0 +MouseMoveEvent 896 229 0 0 0 4 0 +RenderEvent 896 229 0 0 0 4 0 +InteractionEvent 896 229 0 0 0 4 0 +MouseMoveEvent 895 229 0 0 0 4 0 +RenderEvent 895 229 0 0 0 4 0 +InteractionEvent 895 229 0 0 0 4 0 +MouseMoveEvent 894 229 0 0 0 4 0 +RenderEvent 894 229 0 0 0 4 0 +InteractionEvent 894 229 0 0 0 4 0 +MouseMoveEvent 893 229 0 0 0 4 0 +RenderEvent 893 229 0 0 0 4 0 +InteractionEvent 893 229 0 0 0 4 0 +MouseMoveEvent 891 229 0 0 0 4 0 +RenderEvent 891 229 0 0 0 4 0 +InteractionEvent 891 229 0 0 0 4 0 +MouseMoveEvent 889 229 0 0 0 4 0 +RenderEvent 889 229 0 0 0 4 0 +InteractionEvent 889 229 0 0 0 4 0 +MouseMoveEvent 886 229 0 0 0 4 0 +RenderEvent 886 229 0 0 0 4 0 +InteractionEvent 886 229 0 0 0 4 0 +MouseMoveEvent 884 229 0 0 0 4 0 +RenderEvent 884 229 0 0 0 4 0 +InteractionEvent 884 229 0 0 0 4 0 +MouseMoveEvent 882 229 0 0 0 4 0 +RenderEvent 882 229 0 0 0 4 0 +InteractionEvent 882 229 0 0 0 4 0 +MouseMoveEvent 880 229 0 0 0 4 0 +RenderEvent 880 229 0 0 0 4 0 +InteractionEvent 880 229 0 0 0 4 0 +MouseMoveEvent 878 229 0 0 0 4 0 +RenderEvent 878 229 0 0 0 4 0 +InteractionEvent 878 229 0 0 0 4 0 +MouseMoveEvent 876 229 0 0 0 4 0 +RenderEvent 876 229 0 0 0 4 0 +InteractionEvent 876 229 0 0 0 4 0 +MouseMoveEvent 873 229 0 0 0 4 0 +RenderEvent 873 229 0 0 0 4 0 +InteractionEvent 873 229 0 0 0 4 0 +MouseMoveEvent 871 229 0 0 0 4 0 +RenderEvent 871 229 0 0 0 4 0 +InteractionEvent 871 229 0 0 0 4 0 +MouseMoveEvent 869 229 0 0 0 4 0 +RenderEvent 869 229 0 0 0 4 0 +InteractionEvent 869 229 0 0 0 4 0 +MouseMoveEvent 867 229 0 0 0 4 0 +RenderEvent 867 229 0 0 0 4 0 +InteractionEvent 867 229 0 0 0 4 0 +MouseMoveEvent 864 228 0 0 0 4 0 +RenderEvent 864 228 0 0 0 4 0 +InteractionEvent 864 228 0 0 0 4 0 +MouseMoveEvent 861 228 0 0 0 4 0 +RenderEvent 861 228 0 0 0 4 0 +InteractionEvent 861 228 0 0 0 4 0 +MouseMoveEvent 859 228 0 0 0 4 0 +RenderEvent 859 228 0 0 0 4 0 +InteractionEvent 859 228 0 0 0 4 0 +MouseMoveEvent 856 227 0 0 0 4 0 +RenderEvent 856 227 0 0 0 4 0 +InteractionEvent 856 227 0 0 0 4 0 +MouseMoveEvent 854 226 0 0 0 4 0 +RenderEvent 854 226 0 0 0 4 0 +InteractionEvent 854 226 0 0 0 4 0 +MouseMoveEvent 851 226 0 0 0 4 0 +RenderEvent 851 226 0 0 0 4 0 +InteractionEvent 851 226 0 0 0 4 0 +MouseMoveEvent 848 225 0 0 0 4 0 +RenderEvent 848 225 0 0 0 4 0 +InteractionEvent 848 225 0 0 0 4 0 +MouseMoveEvent 846 224 0 0 0 4 0 +RenderEvent 846 224 0 0 0 4 0 +InteractionEvent 846 224 0 0 0 4 0 +MouseMoveEvent 842 223 0 0 0 4 0 +RenderEvent 842 223 0 0 0 4 0 +InteractionEvent 842 223 0 0 0 4 0 +MouseMoveEvent 840 222 0 0 0 4 0 +RenderEvent 840 222 0 0 0 4 0 +InteractionEvent 840 222 0 0 0 4 0 +MouseMoveEvent 836 221 0 0 0 4 0 +RenderEvent 836 221 0 0 0 4 0 +InteractionEvent 836 221 0 0 0 4 0 +MouseMoveEvent 833 220 0 0 0 4 0 +RenderEvent 833 220 0 0 0 4 0 +InteractionEvent 833 220 0 0 0 4 0 +MouseMoveEvent 829 219 0 0 0 4 0 +RenderEvent 829 219 0 0 0 4 0 +InteractionEvent 829 219 0 0 0 4 0 +MouseMoveEvent 827 218 0 0 0 4 0 +RenderEvent 827 218 0 0 0 4 0 +InteractionEvent 827 218 0 0 0 4 0 +MouseMoveEvent 824 217 0 0 0 4 0 +RenderEvent 824 217 0 0 0 4 0 +InteractionEvent 824 217 0 0 0 4 0 +MouseMoveEvent 822 216 0 0 0 4 0 +RenderEvent 822 216 0 0 0 4 0 +InteractionEvent 822 216 0 0 0 4 0 +MouseMoveEvent 820 216 0 0 0 4 0 +RenderEvent 820 216 0 0 0 4 0 +InteractionEvent 820 216 0 0 0 4 0 +MouseMoveEvent 818 215 0 0 0 4 0 +RenderEvent 818 215 0 0 0 4 0 +InteractionEvent 818 215 0 0 0 4 0 +MouseMoveEvent 816 215 0 0 0 4 0 +RenderEvent 816 215 0 0 0 4 0 +InteractionEvent 816 215 0 0 0 4 0 +MouseMoveEvent 814 214 0 0 0 4 0 +RenderEvent 814 214 0 0 0 4 0 +InteractionEvent 814 214 0 0 0 4 0 +MouseMoveEvent 813 214 0 0 0 4 0 +RenderEvent 813 214 0 0 0 4 0 +InteractionEvent 813 214 0 0 0 4 0 +MouseMoveEvent 812 214 0 0 0 4 0 +RenderEvent 812 214 0 0 0 4 0 +InteractionEvent 812 214 0 0 0 4 0 +MouseMoveEvent 811 214 0 0 0 4 0 +RenderEvent 811 214 0 0 0 4 0 +InteractionEvent 811 214 0 0 0 4 0 +TimerEvent 811 214 0 0 0 4 0 +MouseMoveEvent 810 213 0 0 0 4 0 +RenderEvent 810 213 0 0 0 4 0 +InteractionEvent 810 213 0 0 0 4 0 +MouseMoveEvent 809 213 0 0 0 4 0 +RenderEvent 809 213 0 0 0 4 0 +InteractionEvent 809 213 0 0 0 4 0 +MouseMoveEvent 808 213 0 0 0 4 0 +RenderEvent 808 213 0 0 0 4 0 +InteractionEvent 808 213 0 0 0 4 0 +MouseMoveEvent 806 212 0 0 0 4 0 +RenderEvent 806 212 0 0 0 4 0 +InteractionEvent 806 212 0 0 0 4 0 +MouseMoveEvent 803 212 0 0 0 4 0 +RenderEvent 803 212 0 0 0 4 0 +InteractionEvent 803 212 0 0 0 4 0 +MouseMoveEvent 800 212 0 0 0 4 0 +RenderEvent 800 212 0 0 0 4 0 +InteractionEvent 800 212 0 0 0 4 0 +MouseMoveEvent 796 212 0 0 0 4 0 +RenderEvent 796 212 0 0 0 4 0 +InteractionEvent 796 212 0 0 0 4 0 +MouseMoveEvent 794 212 0 0 0 4 0 +RenderEvent 794 212 0 0 0 4 0 +InteractionEvent 794 212 0 0 0 4 0 +MouseMoveEvent 791 211 0 0 0 4 0 +RenderEvent 791 211 0 0 0 4 0 +InteractionEvent 791 211 0 0 0 4 0 +MouseMoveEvent 787 211 0 0 0 4 0 +RenderEvent 787 211 0 0 0 4 0 +InteractionEvent 787 211 0 0 0 4 0 +MouseMoveEvent 784 211 0 0 0 4 0 +RenderEvent 784 211 0 0 0 4 0 +InteractionEvent 784 211 0 0 0 4 0 +MouseMoveEvent 780 211 0 0 0 4 0 +RenderEvent 780 211 0 0 0 4 0 +InteractionEvent 780 211 0 0 0 4 0 +MouseMoveEvent 778 211 0 0 0 4 0 +RenderEvent 778 211 0 0 0 4 0 +InteractionEvent 778 211 0 0 0 4 0 +MouseMoveEvent 773 211 0 0 0 4 0 +RenderEvent 773 211 0 0 0 4 0 +InteractionEvent 773 211 0 0 0 4 0 +MouseMoveEvent 769 210 0 0 0 4 0 +RenderEvent 769 210 0 0 0 4 0 +InteractionEvent 769 210 0 0 0 4 0 +MouseMoveEvent 764 210 0 0 0 4 0 +RenderEvent 764 210 0 0 0 4 0 +InteractionEvent 764 210 0 0 0 4 0 +MouseMoveEvent 760 209 0 0 0 4 0 +RenderEvent 760 209 0 0 0 4 0 +InteractionEvent 760 209 0 0 0 4 0 +MouseMoveEvent 756 209 0 0 0 4 0 +RenderEvent 756 209 0 0 0 4 0 +InteractionEvent 756 209 0 0 0 4 0 +MouseMoveEvent 751 208 0 0 0 4 0 +RenderEvent 751 208 0 0 0 4 0 +InteractionEvent 751 208 0 0 0 4 0 +MouseMoveEvent 747 208 0 0 0 4 0 +RenderEvent 747 208 0 0 0 4 0 +InteractionEvent 747 208 0 0 0 4 0 +MouseMoveEvent 744 208 0 0 0 4 0 +RenderEvent 744 208 0 0 0 4 0 +InteractionEvent 744 208 0 0 0 4 0 +MouseMoveEvent 740 207 0 0 0 4 0 +RenderEvent 740 207 0 0 0 4 0 +InteractionEvent 740 207 0 0 0 4 0 +MouseMoveEvent 736 207 0 0 0 4 0 +RenderEvent 736 207 0 0 0 4 0 +InteractionEvent 736 207 0 0 0 4 0 +MouseMoveEvent 733 207 0 0 0 4 0 +RenderEvent 733 207 0 0 0 4 0 +InteractionEvent 733 207 0 0 0 4 0 +MouseMoveEvent 730 207 0 0 0 4 0 +RenderEvent 730 207 0 0 0 4 0 +InteractionEvent 730 207 0 0 0 4 0 +MouseMoveEvent 727 207 0 0 0 4 0 +RenderEvent 727 207 0 0 0 4 0 +InteractionEvent 727 207 0 0 0 4 0 +MouseMoveEvent 724 207 0 0 0 4 0 +RenderEvent 724 207 0 0 0 4 0 +InteractionEvent 724 207 0 0 0 4 0 +MouseMoveEvent 721 207 0 0 0 4 0 +RenderEvent 721 207 0 0 0 4 0 +InteractionEvent 721 207 0 0 0 4 0 +MouseMoveEvent 720 207 0 0 0 4 0 +RenderEvent 720 207 0 0 0 4 0 +InteractionEvent 720 207 0 0 0 4 0 +MouseMoveEvent 717 207 0 0 0 4 0 +RenderEvent 717 207 0 0 0 4 0 +InteractionEvent 717 207 0 0 0 4 0 +MouseMoveEvent 715 207 0 0 0 4 0 +RenderEvent 715 207 0 0 0 4 0 +InteractionEvent 715 207 0 0 0 4 0 +MouseMoveEvent 712 207 0 0 0 4 0 +RenderEvent 712 207 0 0 0 4 0 +InteractionEvent 712 207 0 0 0 4 0 +MouseMoveEvent 711 206 0 0 0 4 0 +RenderEvent 711 206 0 0 0 4 0 +InteractionEvent 711 206 0 0 0 4 0 +MouseMoveEvent 710 206 0 0 0 4 0 +RenderEvent 710 206 0 0 0 4 0 +InteractionEvent 710 206 0 0 0 4 0 +MouseMoveEvent 707 206 0 0 0 4 0 +RenderEvent 707 206 0 0 0 4 0 +InteractionEvent 707 206 0 0 0 4 0 +MouseMoveEvent 706 206 0 0 0 4 0 +RenderEvent 706 206 0 0 0 4 0 +InteractionEvent 706 206 0 0 0 4 0 +MouseMoveEvent 705 206 0 0 0 4 0 +RenderEvent 705 206 0 0 0 4 0 +InteractionEvent 705 206 0 0 0 4 0 +MouseMoveEvent 704 206 0 0 0 4 0 +RenderEvent 704 206 0 0 0 4 0 +InteractionEvent 704 206 0 0 0 4 0 +MouseMoveEvent 702 206 0 0 0 4 0 +RenderEvent 702 206 0 0 0 4 0 +InteractionEvent 702 206 0 0 0 4 0 +MouseMoveEvent 701 206 0 0 0 4 0 +RenderEvent 701 206 0 0 0 4 0 +InteractionEvent 701 206 0 0 0 4 0 +MouseMoveEvent 700 206 0 0 0 4 0 +RenderEvent 700 206 0 0 0 4 0 +InteractionEvent 700 206 0 0 0 4 0 +MouseMoveEvent 700 205 0 0 0 4 0 +RenderEvent 700 205 0 0 0 4 0 +InteractionEvent 700 205 0 0 0 4 0 +MouseMoveEvent 699 205 0 0 0 4 0 +RenderEvent 699 205 0 0 0 4 0 +InteractionEvent 699 205 0 0 0 4 0 +MouseMoveEvent 698 205 0 0 0 4 0 +RenderEvent 698 205 0 0 0 4 0 +InteractionEvent 698 205 0 0 0 4 0 +MouseMoveEvent 697 205 0 0 0 4 0 +RenderEvent 697 205 0 0 0 4 0 +InteractionEvent 697 205 0 0 0 4 0 +MouseMoveEvent 696 204 0 0 0 4 0 +RenderEvent 696 204 0 0 0 4 0 +InteractionEvent 696 204 0 0 0 4 0 +MouseMoveEvent 695 204 0 0 0 4 0 +RenderEvent 695 204 0 0 0 4 0 +InteractionEvent 695 204 0 0 0 4 0 +MouseMoveEvent 692 204 0 0 0 4 0 +RenderEvent 692 204 0 0 0 4 0 +InteractionEvent 692 204 0 0 0 4 0 +MouseMoveEvent 690 204 0 0 0 4 0 +RenderEvent 690 204 0 0 0 4 0 +InteractionEvent 690 204 0 0 0 4 0 +MouseMoveEvent 687 204 0 0 0 4 0 +RenderEvent 687 204 0 0 0 4 0 +InteractionEvent 687 204 0 0 0 4 0 +MouseMoveEvent 685 204 0 0 0 4 0 +RenderEvent 685 204 0 0 0 4 0 +InteractionEvent 685 204 0 0 0 4 0 +MouseMoveEvent 682 203 0 0 0 4 0 +RenderEvent 682 203 0 0 0 4 0 +InteractionEvent 682 203 0 0 0 4 0 +MouseMoveEvent 681 203 0 0 0 4 0 +RenderEvent 681 203 0 0 0 4 0 +InteractionEvent 681 203 0 0 0 4 0 +MouseMoveEvent 679 203 0 0 0 4 0 +RenderEvent 679 203 0 0 0 4 0 +InteractionEvent 679 203 0 0 0 4 0 +MouseMoveEvent 677 202 0 0 0 4 0 +RenderEvent 677 202 0 0 0 4 0 +InteractionEvent 677 202 0 0 0 4 0 +MouseMoveEvent 674 202 0 0 0 4 0 +RenderEvent 674 202 0 0 0 4 0 +InteractionEvent 674 202 0 0 0 4 0 +MouseMoveEvent 672 202 0 0 0 4 0 +RenderEvent 672 202 0 0 0 4 0 +InteractionEvent 672 202 0 0 0 4 0 +MouseMoveEvent 671 201 0 0 0 4 0 +RenderEvent 671 201 0 0 0 4 0 +InteractionEvent 671 201 0 0 0 4 0 +MouseMoveEvent 668 201 0 0 0 4 0 +RenderEvent 668 201 0 0 0 4 0 +InteractionEvent 668 201 0 0 0 4 0 +MouseMoveEvent 667 201 0 0 0 4 0 +RenderEvent 667 201 0 0 0 4 0 +InteractionEvent 667 201 0 0 0 4 0 +MouseMoveEvent 664 201 0 0 0 4 0 +RenderEvent 664 201 0 0 0 4 0 +InteractionEvent 664 201 0 0 0 4 0 +MouseMoveEvent 661 201 0 0 0 4 0 +RenderEvent 661 201 0 0 0 4 0 +InteractionEvent 661 201 0 0 0 4 0 +MouseMoveEvent 658 200 0 0 0 4 0 +RenderEvent 658 200 0 0 0 4 0 +InteractionEvent 658 200 0 0 0 4 0 +MouseMoveEvent 656 200 0 0 0 4 0 +RenderEvent 656 200 0 0 0 4 0 +InteractionEvent 656 200 0 0 0 4 0 +MouseMoveEvent 653 200 0 0 0 4 0 +RenderEvent 653 200 0 0 0 4 0 +InteractionEvent 653 200 0 0 0 4 0 +MouseMoveEvent 650 199 0 0 0 4 0 +RenderEvent 650 199 0 0 0 4 0 +InteractionEvent 650 199 0 0 0 4 0 +MouseMoveEvent 648 199 0 0 0 4 0 +RenderEvent 648 199 0 0 0 4 0 +InteractionEvent 648 199 0 0 0 4 0 +MouseMoveEvent 645 199 0 0 0 4 0 +RenderEvent 645 199 0 0 0 4 0 +InteractionEvent 645 199 0 0 0 4 0 +MouseMoveEvent 642 198 0 0 0 4 0 +RenderEvent 642 198 0 0 0 4 0 +InteractionEvent 642 198 0 0 0 4 0 +MouseMoveEvent 639 198 0 0 0 4 0 +RenderEvent 639 198 0 0 0 4 0 +InteractionEvent 639 198 0 0 0 4 0 +MouseMoveEvent 637 198 0 0 0 4 0 +RenderEvent 637 198 0 0 0 4 0 +InteractionEvent 637 198 0 0 0 4 0 +MouseMoveEvent 634 198 0 0 0 4 0 +RenderEvent 634 198 0 0 0 4 0 +InteractionEvent 634 198 0 0 0 4 0 +MouseMoveEvent 632 197 0 0 0 4 0 +RenderEvent 632 197 0 0 0 4 0 +InteractionEvent 632 197 0 0 0 4 0 +MouseMoveEvent 629 197 0 0 0 4 0 +RenderEvent 629 197 0 0 0 4 0 +InteractionEvent 629 197 0 0 0 4 0 +MouseMoveEvent 626 197 0 0 0 4 0 +RenderEvent 626 197 0 0 0 4 0 +InteractionEvent 626 197 0 0 0 4 0 +MouseMoveEvent 624 197 0 0 0 4 0 +RenderEvent 624 197 0 0 0 4 0 +InteractionEvent 624 197 0 0 0 4 0 +MouseMoveEvent 621 196 0 0 0 4 0 +RenderEvent 621 196 0 0 0 4 0 +InteractionEvent 621 196 0 0 0 4 0 +MouseMoveEvent 619 196 0 0 0 4 0 +RenderEvent 619 196 0 0 0 4 0 +InteractionEvent 619 196 0 0 0 4 0 +MouseMoveEvent 617 196 0 0 0 4 0 +RenderEvent 617 196 0 0 0 4 0 +InteractionEvent 617 196 0 0 0 4 0 +MouseMoveEvent 615 196 0 0 0 4 0 +RenderEvent 615 196 0 0 0 4 0 +InteractionEvent 615 196 0 0 0 4 0 +MouseMoveEvent 613 196 0 0 0 4 0 +RenderEvent 613 196 0 0 0 4 0 +InteractionEvent 613 196 0 0 0 4 0 +MouseMoveEvent 611 195 0 0 0 4 0 +RenderEvent 611 195 0 0 0 4 0 +InteractionEvent 611 195 0 0 0 4 0 +TimerEvent 611 195 0 0 0 4 0 +MouseMoveEvent 610 195 0 0 0 4 0 +RenderEvent 610 195 0 0 0 4 0 +InteractionEvent 610 195 0 0 0 4 0 +MouseMoveEvent 608 195 0 0 0 4 0 +RenderEvent 608 195 0 0 0 4 0 +InteractionEvent 608 195 0 0 0 4 0 +MouseMoveEvent 607 195 0 0 0 4 0 +RenderEvent 607 195 0 0 0 4 0 +InteractionEvent 607 195 0 0 0 4 0 +MouseMoveEvent 606 195 0 0 0 4 0 +RenderEvent 606 195 0 0 0 4 0 +InteractionEvent 606 195 0 0 0 4 0 +MouseMoveEvent 605 195 0 0 0 4 0 +RenderEvent 605 195 0 0 0 4 0 +InteractionEvent 605 195 0 0 0 4 0 +MouseMoveEvent 604 195 0 0 0 4 0 +RenderEvent 604 195 0 0 0 4 0 +InteractionEvent 604 195 0 0 0 4 0 +TimerEvent 604 195 0 0 0 4 0 +MouseMoveEvent 603 195 0 0 0 4 0 +RenderEvent 603 195 0 0 0 4 0 +InteractionEvent 603 195 0 0 0 4 0 +MouseMoveEvent 603 194 0 0 0 4 0 +RenderEvent 603 194 0 0 0 4 0 +InteractionEvent 603 194 0 0 0 4 0 +MouseMoveEvent 602 194 0 0 0 4 0 +RenderEvent 602 194 0 0 0 4 0 +InteractionEvent 602 194 0 0 0 4 0 +MouseMoveEvent 601 194 0 0 0 4 0 +RenderEvent 601 194 0 0 0 4 0 +InteractionEvent 601 194 0 0 0 4 0 +MouseMoveEvent 600 194 0 0 0 4 0 +RenderEvent 600 194 0 0 0 4 0 +InteractionEvent 600 194 0 0 0 4 0 +MouseMoveEvent 599 194 0 0 0 4 0 +RenderEvent 599 194 0 0 0 4 0 +InteractionEvent 599 194 0 0 0 4 0 +MouseMoveEvent 598 194 0 0 0 4 0 +RenderEvent 598 194 0 0 0 4 0 +InteractionEvent 598 194 0 0 0 4 0 +MouseMoveEvent 596 194 0 0 0 4 0 +RenderEvent 596 194 0 0 0 4 0 +InteractionEvent 596 194 0 0 0 4 0 +MouseMoveEvent 595 194 0 0 0 4 0 +RenderEvent 595 194 0 0 0 4 0 +InteractionEvent 595 194 0 0 0 4 0 +MouseMoveEvent 594 194 0 0 0 4 0 +RenderEvent 594 194 0 0 0 4 0 +InteractionEvent 594 194 0 0 0 4 0 +MouseMoveEvent 592 194 0 0 0 4 0 +RenderEvent 592 194 0 0 0 4 0 +InteractionEvent 592 194 0 0 0 4 0 +MouseMoveEvent 590 194 0 0 0 4 0 +RenderEvent 590 194 0 0 0 4 0 +InteractionEvent 590 194 0 0 0 4 0 +MouseMoveEvent 589 194 0 0 0 4 0 +RenderEvent 589 194 0 0 0 4 0 +InteractionEvent 589 194 0 0 0 4 0 +MouseMoveEvent 586 194 0 0 0 4 0 +RenderEvent 586 194 0 0 0 4 0 +InteractionEvent 586 194 0 0 0 4 0 +MouseMoveEvent 584 194 0 0 0 4 0 +RenderEvent 584 194 0 0 0 4 0 +InteractionEvent 584 194 0 0 0 4 0 +MouseMoveEvent 582 194 0 0 0 4 0 +RenderEvent 582 194 0 0 0 4 0 +InteractionEvent 582 194 0 0 0 4 0 +MouseMoveEvent 579 194 0 0 0 4 0 +RenderEvent 579 194 0 0 0 4 0 +InteractionEvent 579 194 0 0 0 4 0 +MouseMoveEvent 578 193 0 0 0 4 0 +RenderEvent 578 193 0 0 0 4 0 +InteractionEvent 578 193 0 0 0 4 0 +MouseMoveEvent 575 193 0 0 0 4 0 +RenderEvent 575 193 0 0 0 4 0 +InteractionEvent 575 193 0 0 0 4 0 +MouseMoveEvent 572 193 0 0 0 4 0 +RenderEvent 572 193 0 0 0 4 0 +InteractionEvent 572 193 0 0 0 4 0 +MouseMoveEvent 570 193 0 0 0 4 0 +RenderEvent 570 193 0 0 0 4 0 +InteractionEvent 570 193 0 0 0 4 0 +MouseMoveEvent 567 193 0 0 0 4 0 +RenderEvent 567 193 0 0 0 4 0 +InteractionEvent 567 193 0 0 0 4 0 +MouseMoveEvent 564 193 0 0 0 4 0 +RenderEvent 564 193 0 0 0 4 0 +InteractionEvent 564 193 0 0 0 4 0 +MouseMoveEvent 562 193 0 0 0 4 0 +RenderEvent 562 193 0 0 0 4 0 +InteractionEvent 562 193 0 0 0 4 0 +MouseMoveEvent 559 192 0 0 0 4 0 +RenderEvent 559 192 0 0 0 4 0 +InteractionEvent 559 192 0 0 0 4 0 +MouseMoveEvent 557 192 0 0 0 4 0 +RenderEvent 557 192 0 0 0 4 0 +InteractionEvent 557 192 0 0 0 4 0 +MouseMoveEvent 554 192 0 0 0 4 0 +RenderEvent 554 192 0 0 0 4 0 +InteractionEvent 554 192 0 0 0 4 0 +MouseMoveEvent 552 192 0 0 0 4 0 +RenderEvent 552 192 0 0 0 4 0 +InteractionEvent 552 192 0 0 0 4 0 +MouseMoveEvent 550 191 0 0 0 4 0 +RenderEvent 550 191 0 0 0 4 0 +InteractionEvent 550 191 0 0 0 4 0 +MouseMoveEvent 547 191 0 0 0 4 0 +RenderEvent 547 191 0 0 0 4 0 +InteractionEvent 547 191 0 0 0 4 0 +MouseMoveEvent 545 191 0 0 0 4 0 +RenderEvent 545 191 0 0 0 4 0 +InteractionEvent 545 191 0 0 0 4 0 +MouseMoveEvent 543 190 0 0 0 4 0 +RenderEvent 543 190 0 0 0 4 0 +InteractionEvent 543 190 0 0 0 4 0 +MouseMoveEvent 540 190 0 0 0 4 0 +RenderEvent 540 190 0 0 0 4 0 +InteractionEvent 540 190 0 0 0 4 0 +MouseMoveEvent 537 190 0 0 0 4 0 +RenderEvent 537 190 0 0 0 4 0 +InteractionEvent 537 190 0 0 0 4 0 +MouseMoveEvent 536 190 0 0 0 4 0 +RenderEvent 536 190 0 0 0 4 0 +InteractionEvent 536 190 0 0 0 4 0 +MouseMoveEvent 534 190 0 0 0 4 0 +RenderEvent 534 190 0 0 0 4 0 +InteractionEvent 534 190 0 0 0 4 0 +MouseMoveEvent 532 190 0 0 0 4 0 +RenderEvent 532 190 0 0 0 4 0 +InteractionEvent 532 190 0 0 0 4 0 +MouseMoveEvent 530 190 0 0 0 4 0 +RenderEvent 530 190 0 0 0 4 0 +InteractionEvent 530 190 0 0 0 4 0 +MouseMoveEvent 528 190 0 0 0 4 0 +RenderEvent 528 190 0 0 0 4 0 +InteractionEvent 528 190 0 0 0 4 0 +MouseMoveEvent 526 190 0 0 0 4 0 +RenderEvent 526 190 0 0 0 4 0 +InteractionEvent 526 190 0 0 0 4 0 +MouseMoveEvent 524 190 0 0 0 4 0 +RenderEvent 524 190 0 0 0 4 0 +InteractionEvent 524 190 0 0 0 4 0 +TimerEvent 524 190 0 0 0 4 0 +MouseMoveEvent 522 190 0 0 0 4 0 +RenderEvent 522 190 0 0 0 4 0 +InteractionEvent 522 190 0 0 0 4 0 +MouseMoveEvent 521 190 0 0 0 4 0 +RenderEvent 521 190 0 0 0 4 0 +InteractionEvent 521 190 0 0 0 4 0 +MouseMoveEvent 519 190 0 0 0 4 0 +RenderEvent 519 190 0 0 0 4 0 +InteractionEvent 519 190 0 0 0 4 0 +MouseMoveEvent 518 190 0 0 0 4 0 +RenderEvent 518 190 0 0 0 4 0 +InteractionEvent 518 190 0 0 0 4 0 +MouseMoveEvent 517 190 0 0 0 4 0 +RenderEvent 517 190 0 0 0 4 0 +InteractionEvent 517 190 0 0 0 4 0 +MouseMoveEvent 516 190 0 0 0 4 0 +RenderEvent 516 190 0 0 0 4 0 +InteractionEvent 516 190 0 0 0 4 0 +MouseMoveEvent 514 190 0 0 0 4 0 +RenderEvent 514 190 0 0 0 4 0 +InteractionEvent 514 190 0 0 0 4 0 +MouseMoveEvent 512 191 0 0 0 4 0 +RenderEvent 512 191 0 0 0 4 0 +InteractionEvent 512 191 0 0 0 4 0 +MouseMoveEvent 512 192 0 0 0 4 0 +RenderEvent 512 192 0 0 0 4 0 +InteractionEvent 512 192 0 0 0 4 0 +MouseMoveEvent 511 192 0 0 0 4 0 +RenderEvent 511 192 0 0 0 4 0 +InteractionEvent 511 192 0 0 0 4 0 +MouseMoveEvent 510 192 0 0 0 4 0 +RenderEvent 510 192 0 0 0 4 0 +InteractionEvent 510 192 0 0 0 4 0 +MouseMoveEvent 509 192 0 0 0 4 0 +RenderEvent 509 192 0 0 0 4 0 +InteractionEvent 509 192 0 0 0 4 0 +MouseMoveEvent 509 193 0 0 0 4 0 +RenderEvent 509 193 0 0 0 4 0 +InteractionEvent 509 193 0 0 0 4 0 +MouseMoveEvent 507 193 0 0 0 4 0 +RenderEvent 507 193 0 0 0 4 0 +InteractionEvent 507 193 0 0 0 4 0 +MouseMoveEvent 507 194 0 0 0 4 0 +RenderEvent 507 194 0 0 0 4 0 +InteractionEvent 507 194 0 0 0 4 0 +MouseMoveEvent 505 194 0 0 0 4 0 +RenderEvent 505 194 0 0 0 4 0 +InteractionEvent 505 194 0 0 0 4 0 +MouseMoveEvent 504 194 0 0 0 4 0 +RenderEvent 504 194 0 0 0 4 0 +InteractionEvent 504 194 0 0 0 4 0 +MouseMoveEvent 503 195 0 0 0 4 0 +RenderEvent 503 195 0 0 0 4 0 +InteractionEvent 503 195 0 0 0 4 0 +MouseMoveEvent 502 196 0 0 0 4 0 +RenderEvent 502 196 0 0 0 4 0 +InteractionEvent 502 196 0 0 0 4 0 +MouseMoveEvent 501 196 0 0 0 4 0 +RenderEvent 501 196 0 0 0 4 0 +InteractionEvent 501 196 0 0 0 4 0 +MouseMoveEvent 501 197 0 0 0 4 0 +RenderEvent 501 197 0 0 0 4 0 +InteractionEvent 501 197 0 0 0 4 0 +MouseMoveEvent 500 197 0 0 0 4 0 +RenderEvent 500 197 0 0 0 4 0 +InteractionEvent 500 197 0 0 0 4 0 + +LeftButtonReleaseEvent 500 197 0 0 0 4 0 +EndInteractionEvent 500 197 0 0 0 4 0 +RenderEvent 500 197 0 0 0 4 0 From cec185d547fdebecf66f0b7e0f0081e56c2dcebb Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sun, 5 Jan 2025 23:22:22 -0600 Subject: [PATCH 05/11] Remove whitespace --- library/src/interactor_impl.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index 880eb78b72..1f74bec313 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -763,7 +763,7 @@ interactor& interactor_impl::initCommands() this->addCommand("reset_camera", [&](const std::vector&) { - this->Internals->Window.getCamera().resetToDefault(); + this->Internals->Window.getCamera().resetToDefault(); this->Internals->Style->EndTemporaryUp(); }); From f8ded6a567382b57ae18ecf9ddfc480be2b5d740 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Mon, 6 Jan 2025 10:56:33 -0600 Subject: [PATCH 06/11] Test comment, class member clarification --- application/testing/CMakeLists.txt | 2 +- library/src/interactor_impl.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/application/testing/CMakeLists.txt b/application/testing/CMakeLists.txt index f84f98ffee..f8608aec18 100644 --- a/application/testing/CMakeLists.txt +++ b/application/testing/CMakeLists.txt @@ -834,7 +834,7 @@ f3d_test(NAME TestInteractionOrthographicProjection DATA cow.vtp INTERACTION) #5 f3d_test(NAME TestInteractionZoomToggleOrthographicProjection DATA cow.vtp INTERACTION) #MouseWheel;5;Mousewheelx6;5 f3d_test(NAME TestInteractionRotateCameraMinus90 DATA f3d.glb INTERACTION) f3d_test(NAME TestInteractionRotateCamera90 DATA f3d.glb INTERACTION) -f3d_test(NAME TestInteractionRollCameraRotation DATA f3d.glb INTERACTION) +f3d_test(NAME TestInteractionRollCameraRotation DATA f3d.glb INTERACTION) #1;4;LeftMouse;MouseMovements f3d_test(NAME TestInteractionPanWithShift DATA f3d.glb INTERACTION) #Shift;LeftMouse;MouseMovements f3d_test(NAME TestInteractionConsoleOpen DATA f3d.glb INTERACTION UI) #Escape f3d_test(NAME TestInteractionConsoleOpenExit DATA f3d.glb REGEXP "Interactor has been stopped" INTERACTION NO_BASELINE UI) #Escape;exit;Return diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index 1f74bec313..f23946b69d 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -191,7 +191,7 @@ class interactor_impl::internals /* set camera coordinates back */ cam.setPosition(newPos); cam.setViewUp(up); - Style->EndTemporaryUp(); + this->Style->EndTemporaryUp(); cam.resetToBounds(0.9); } From 7c06617c60be156796ad8cd4492597b680b5ee80 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Wed, 8 Jan 2025 12:36:25 -0600 Subject: [PATCH 07/11] Move EndTemporaryUp from SetViewOrbit --- library/src/interactor_impl.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index f23946b69d..136f1801e4 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -191,7 +191,6 @@ class interactor_impl::internals /* set camera coordinates back */ cam.setPosition(newPos); cam.setViewUp(up); - this->Style->EndTemporaryUp(); cam.resetToBounds(0.9); } @@ -730,18 +729,22 @@ interactor& interactor_impl::initCommands() if (type == "front") { this->Internals->SetViewOrbit(internals::ViewType::VT_FRONT); + this->Internals->Style->EndTemporaryUp(); } else if (type == "top") { this->Internals->SetViewOrbit(internals::ViewType::VT_TOP); + this->Internals->Style->EndTemporaryUp(); } else if (type == "right") { this->Internals->SetViewOrbit(internals::ViewType::VT_RIGHT); + this->Internals->Style->EndTemporaryUp(); } else if (type == "isometric") { this->Internals->SetViewOrbit(internals::ViewType::VT_ISOMETRIC); + this->Internals->Style->EndTemporaryUp(); } else { From 3dde67dbf19491d50852291636fdecc0ee93aa95 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Fri, 10 Jan 2025 22:28:36 -0600 Subject: [PATCH 08/11] linear interpolation implementation --- library/src/interactor_impl.cxx | 12 +- .../TestInteractionRollCameraRotation.png | 4 +- .../TestInteractionRollCameraRotation.log | 729 ++---------------- .../private/module/vtkF3DInteractorStyle.cxx | 28 +- vtkext/private/module/vtkF3DInteractorStyle.h | 4 +- 5 files changed, 82 insertions(+), 695 deletions(-) diff --git a/library/src/interactor_impl.cxx b/library/src/interactor_impl.cxx index 136f1801e4..328e598366 100644 --- a/library/src/interactor_impl.cxx +++ b/library/src/interactor_impl.cxx @@ -124,6 +124,8 @@ class interactor_impl::internals this->Recorder = vtkSmartPointer::New(); this->Recorder->SetInteractor(this->VTKInteractor); + + this->Style->ResetTemporaryUp(); } //---------------------------------------------------------------------------- @@ -729,22 +731,22 @@ interactor& interactor_impl::initCommands() if (type == "front") { this->Internals->SetViewOrbit(internals::ViewType::VT_FRONT); - this->Internals->Style->EndTemporaryUp(); + this->Internals->Style->ResetTemporaryUp(); } else if (type == "top") { this->Internals->SetViewOrbit(internals::ViewType::VT_TOP); - this->Internals->Style->EndTemporaryUp(); + this->Internals->Style->ResetTemporaryUp(); } else if (type == "right") { this->Internals->SetViewOrbit(internals::ViewType::VT_RIGHT); - this->Internals->Style->EndTemporaryUp(); + this->Internals->Style->ResetTemporaryUp(); } else if (type == "isometric") { this->Internals->SetViewOrbit(internals::ViewType::VT_ISOMETRIC); - this->Internals->Style->EndTemporaryUp(); + this->Internals->Style->ResetTemporaryUp(); } else { @@ -767,7 +769,7 @@ interactor& interactor_impl::initCommands() [&](const std::vector&) { this->Internals->Window.getCamera().resetToDefault(); - this->Internals->Style->EndTemporaryUp(); + this->Internals->Style->ResetTemporaryUp(); }); this->addCommand("toggle_animation", diff --git a/testing/baselines/TestInteractionRollCameraRotation.png b/testing/baselines/TestInteractionRollCameraRotation.png index 737c4cc4dc..599fdbf846 100644 --- a/testing/baselines/TestInteractionRollCameraRotation.png +++ b/testing/baselines/TestInteractionRollCameraRotation.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b62df277309327bd517abc8f2d828b50a95e0dd48e5a8634374cf04edf039a83 -size 2062 +oid sha256:9d171c185318110b279166211833e1d23ce787a65123095f5c8fe37cc361197f +size 2271 diff --git a/testing/recordings/TestInteractionRollCameraRotation.log b/testing/recordings/TestInteractionRollCameraRotation.log index 19544a4006..639d5b0dd8 100644 --- a/testing/recordings/TestInteractionRollCameraRotation.log +++ b/testing/recordings/TestInteractionRollCameraRotation.log @@ -1,682 +1,53 @@ # StreamVersion 1.2 -RenderEvent 0 0 0 0 0 0 0 -KeyPressEvent 942 220 0 49 1 1 0 -CharEvent 942 220 0 49 1 1 0 -KeyReleaseEvent 942 220 0 49 1 1 0 +EnterEvent 923 334 0 0 0 0 0 +RenderEvent 920 336 0 0 0 0 0 -KeyPressEvent 942 220 0 52 1 4 0 -CharEvent 942 220 0 52 1 4 0 -KeyReleaseEvent 942 220 0 52 1 4 0 +KeyPressEvent 840 342 0 52 1 4 0 +CharEvent 840 342 0 52 1 4 0 +KeyReleaseEvent 840 342 0 52 1 4 0 -LeftButtonPressEvent 942 220 0 0 0 4 0 -StartInteractionEvent 942 220 0 0 0 4 0 - -MouseMoveEvent 941 220 0 0 0 4 0 -RenderEvent 941 220 0 0 0 4 0 -InteractionEvent 941 220 0 0 0 4 0 -MouseMoveEvent 939 220 0 0 0 4 0 -RenderEvent 939 220 0 0 0 4 0 -InteractionEvent 939 220 0 0 0 4 0 -MouseMoveEvent 935 222 0 0 0 4 0 -RenderEvent 935 222 0 0 0 4 0 -InteractionEvent 935 222 0 0 0 4 0 -MouseMoveEvent 933 222 0 0 0 4 0 -RenderEvent 933 222 0 0 0 4 0 -InteractionEvent 933 222 0 0 0 4 0 -MouseMoveEvent 931 223 0 0 0 4 0 -RenderEvent 931 223 0 0 0 4 0 -InteractionEvent 931 223 0 0 0 4 0 -MouseMoveEvent 929 224 0 0 0 4 0 -RenderEvent 929 224 0 0 0 4 0 -InteractionEvent 929 224 0 0 0 4 0 -MouseMoveEvent 927 225 0 0 0 4 0 -RenderEvent 927 225 0 0 0 4 0 -InteractionEvent 927 225 0 0 0 4 0 -MouseMoveEvent 924 226 0 0 0 4 0 -RenderEvent 924 226 0 0 0 4 0 -InteractionEvent 924 226 0 0 0 4 0 -MouseMoveEvent 922 226 0 0 0 4 0 -RenderEvent 922 226 0 0 0 4 0 -InteractionEvent 922 226 0 0 0 4 0 -MouseMoveEvent 920 226 0 0 0 4 0 -RenderEvent 920 226 0 0 0 4 0 -InteractionEvent 920 226 0 0 0 4 0 -MouseMoveEvent 919 226 0 0 0 4 0 -RenderEvent 919 226 0 0 0 4 0 -InteractionEvent 919 226 0 0 0 4 0 -MouseMoveEvent 918 226 0 0 0 4 0 -RenderEvent 918 226 0 0 0 4 0 -InteractionEvent 918 226 0 0 0 4 0 -MouseMoveEvent 917 226 0 0 0 4 0 -RenderEvent 917 226 0 0 0 4 0 -InteractionEvent 917 226 0 0 0 4 0 -MouseMoveEvent 916 227 0 0 0 4 0 -RenderEvent 916 227 0 0 0 4 0 -InteractionEvent 916 227 0 0 0 4 0 -MouseMoveEvent 914 227 0 0 0 4 0 -RenderEvent 914 227 0 0 0 4 0 -InteractionEvent 914 227 0 0 0 4 0 -MouseMoveEvent 913 227 0 0 0 4 0 -RenderEvent 913 227 0 0 0 4 0 -InteractionEvent 913 227 0 0 0 4 0 -MouseMoveEvent 912 227 0 0 0 4 0 -RenderEvent 912 227 0 0 0 4 0 -InteractionEvent 912 227 0 0 0 4 0 -MouseMoveEvent 910 228 0 0 0 4 0 -RenderEvent 910 228 0 0 0 4 0 -InteractionEvent 910 228 0 0 0 4 0 -MouseMoveEvent 909 228 0 0 0 4 0 -RenderEvent 909 228 0 0 0 4 0 -InteractionEvent 909 228 0 0 0 4 0 -MouseMoveEvent 908 228 0 0 0 4 0 -RenderEvent 908 228 0 0 0 4 0 -InteractionEvent 908 228 0 0 0 4 0 -MouseMoveEvent 907 229 0 0 0 4 0 -RenderEvent 907 229 0 0 0 4 0 -InteractionEvent 907 229 0 0 0 4 0 -MouseMoveEvent 906 229 0 0 0 4 0 -RenderEvent 906 229 0 0 0 4 0 -InteractionEvent 906 229 0 0 0 4 0 -MouseMoveEvent 905 229 0 0 0 4 0 -RenderEvent 905 229 0 0 0 4 0 -InteractionEvent 905 229 0 0 0 4 0 -MouseMoveEvent 904 229 0 0 0 4 0 -RenderEvent 904 229 0 0 0 4 0 -InteractionEvent 904 229 0 0 0 4 0 -MouseMoveEvent 903 229 0 0 0 4 0 -RenderEvent 903 229 0 0 0 4 0 -InteractionEvent 903 229 0 0 0 4 0 -MouseMoveEvent 901 229 0 0 0 4 0 -RenderEvent 901 229 0 0 0 4 0 -InteractionEvent 901 229 0 0 0 4 0 -MouseMoveEvent 900 229 0 0 0 4 0 -RenderEvent 900 229 0 0 0 4 0 -InteractionEvent 900 229 0 0 0 4 0 -MouseMoveEvent 899 229 0 0 0 4 0 -RenderEvent 899 229 0 0 0 4 0 -InteractionEvent 899 229 0 0 0 4 0 -MouseMoveEvent 898 229 0 0 0 4 0 -RenderEvent 898 229 0 0 0 4 0 -InteractionEvent 898 229 0 0 0 4 0 -MouseMoveEvent 897 229 0 0 0 4 0 -RenderEvent 897 229 0 0 0 4 0 -InteractionEvent 897 229 0 0 0 4 0 -TimerEvent 897 229 0 0 0 4 0 -MouseMoveEvent 896 229 0 0 0 4 0 -RenderEvent 896 229 0 0 0 4 0 -InteractionEvent 896 229 0 0 0 4 0 -MouseMoveEvent 895 229 0 0 0 4 0 -RenderEvent 895 229 0 0 0 4 0 -InteractionEvent 895 229 0 0 0 4 0 -MouseMoveEvent 894 229 0 0 0 4 0 -RenderEvent 894 229 0 0 0 4 0 -InteractionEvent 894 229 0 0 0 4 0 -MouseMoveEvent 893 229 0 0 0 4 0 -RenderEvent 893 229 0 0 0 4 0 -InteractionEvent 893 229 0 0 0 4 0 -MouseMoveEvent 891 229 0 0 0 4 0 -RenderEvent 891 229 0 0 0 4 0 -InteractionEvent 891 229 0 0 0 4 0 -MouseMoveEvent 889 229 0 0 0 4 0 -RenderEvent 889 229 0 0 0 4 0 -InteractionEvent 889 229 0 0 0 4 0 -MouseMoveEvent 886 229 0 0 0 4 0 -RenderEvent 886 229 0 0 0 4 0 -InteractionEvent 886 229 0 0 0 4 0 -MouseMoveEvent 884 229 0 0 0 4 0 -RenderEvent 884 229 0 0 0 4 0 -InteractionEvent 884 229 0 0 0 4 0 -MouseMoveEvent 882 229 0 0 0 4 0 -RenderEvent 882 229 0 0 0 4 0 -InteractionEvent 882 229 0 0 0 4 0 -MouseMoveEvent 880 229 0 0 0 4 0 -RenderEvent 880 229 0 0 0 4 0 -InteractionEvent 880 229 0 0 0 4 0 -MouseMoveEvent 878 229 0 0 0 4 0 -RenderEvent 878 229 0 0 0 4 0 -InteractionEvent 878 229 0 0 0 4 0 -MouseMoveEvent 876 229 0 0 0 4 0 -RenderEvent 876 229 0 0 0 4 0 -InteractionEvent 876 229 0 0 0 4 0 -MouseMoveEvent 873 229 0 0 0 4 0 -RenderEvent 873 229 0 0 0 4 0 -InteractionEvent 873 229 0 0 0 4 0 -MouseMoveEvent 871 229 0 0 0 4 0 -RenderEvent 871 229 0 0 0 4 0 -InteractionEvent 871 229 0 0 0 4 0 -MouseMoveEvent 869 229 0 0 0 4 0 -RenderEvent 869 229 0 0 0 4 0 -InteractionEvent 869 229 0 0 0 4 0 -MouseMoveEvent 867 229 0 0 0 4 0 -RenderEvent 867 229 0 0 0 4 0 -InteractionEvent 867 229 0 0 0 4 0 -MouseMoveEvent 864 228 0 0 0 4 0 -RenderEvent 864 228 0 0 0 4 0 -InteractionEvent 864 228 0 0 0 4 0 -MouseMoveEvent 861 228 0 0 0 4 0 -RenderEvent 861 228 0 0 0 4 0 -InteractionEvent 861 228 0 0 0 4 0 -MouseMoveEvent 859 228 0 0 0 4 0 -RenderEvent 859 228 0 0 0 4 0 -InteractionEvent 859 228 0 0 0 4 0 -MouseMoveEvent 856 227 0 0 0 4 0 -RenderEvent 856 227 0 0 0 4 0 -InteractionEvent 856 227 0 0 0 4 0 -MouseMoveEvent 854 226 0 0 0 4 0 -RenderEvent 854 226 0 0 0 4 0 -InteractionEvent 854 226 0 0 0 4 0 -MouseMoveEvent 851 226 0 0 0 4 0 -RenderEvent 851 226 0 0 0 4 0 -InteractionEvent 851 226 0 0 0 4 0 -MouseMoveEvent 848 225 0 0 0 4 0 -RenderEvent 848 225 0 0 0 4 0 -InteractionEvent 848 225 0 0 0 4 0 -MouseMoveEvent 846 224 0 0 0 4 0 -RenderEvent 846 224 0 0 0 4 0 -InteractionEvent 846 224 0 0 0 4 0 -MouseMoveEvent 842 223 0 0 0 4 0 -RenderEvent 842 223 0 0 0 4 0 -InteractionEvent 842 223 0 0 0 4 0 -MouseMoveEvent 840 222 0 0 0 4 0 -RenderEvent 840 222 0 0 0 4 0 -InteractionEvent 840 222 0 0 0 4 0 -MouseMoveEvent 836 221 0 0 0 4 0 -RenderEvent 836 221 0 0 0 4 0 -InteractionEvent 836 221 0 0 0 4 0 -MouseMoveEvent 833 220 0 0 0 4 0 -RenderEvent 833 220 0 0 0 4 0 -InteractionEvent 833 220 0 0 0 4 0 -MouseMoveEvent 829 219 0 0 0 4 0 -RenderEvent 829 219 0 0 0 4 0 -InteractionEvent 829 219 0 0 0 4 0 -MouseMoveEvent 827 218 0 0 0 4 0 -RenderEvent 827 218 0 0 0 4 0 -InteractionEvent 827 218 0 0 0 4 0 -MouseMoveEvent 824 217 0 0 0 4 0 -RenderEvent 824 217 0 0 0 4 0 -InteractionEvent 824 217 0 0 0 4 0 -MouseMoveEvent 822 216 0 0 0 4 0 -RenderEvent 822 216 0 0 0 4 0 -InteractionEvent 822 216 0 0 0 4 0 -MouseMoveEvent 820 216 0 0 0 4 0 -RenderEvent 820 216 0 0 0 4 0 -InteractionEvent 820 216 0 0 0 4 0 -MouseMoveEvent 818 215 0 0 0 4 0 -RenderEvent 818 215 0 0 0 4 0 -InteractionEvent 818 215 0 0 0 4 0 -MouseMoveEvent 816 215 0 0 0 4 0 -RenderEvent 816 215 0 0 0 4 0 -InteractionEvent 816 215 0 0 0 4 0 -MouseMoveEvent 814 214 0 0 0 4 0 -RenderEvent 814 214 0 0 0 4 0 -InteractionEvent 814 214 0 0 0 4 0 -MouseMoveEvent 813 214 0 0 0 4 0 -RenderEvent 813 214 0 0 0 4 0 -InteractionEvent 813 214 0 0 0 4 0 -MouseMoveEvent 812 214 0 0 0 4 0 -RenderEvent 812 214 0 0 0 4 0 -InteractionEvent 812 214 0 0 0 4 0 -MouseMoveEvent 811 214 0 0 0 4 0 -RenderEvent 811 214 0 0 0 4 0 -InteractionEvent 811 214 0 0 0 4 0 -TimerEvent 811 214 0 0 0 4 0 -MouseMoveEvent 810 213 0 0 0 4 0 -RenderEvent 810 213 0 0 0 4 0 -InteractionEvent 810 213 0 0 0 4 0 -MouseMoveEvent 809 213 0 0 0 4 0 -RenderEvent 809 213 0 0 0 4 0 -InteractionEvent 809 213 0 0 0 4 0 -MouseMoveEvent 808 213 0 0 0 4 0 -RenderEvent 808 213 0 0 0 4 0 -InteractionEvent 808 213 0 0 0 4 0 -MouseMoveEvent 806 212 0 0 0 4 0 -RenderEvent 806 212 0 0 0 4 0 -InteractionEvent 806 212 0 0 0 4 0 -MouseMoveEvent 803 212 0 0 0 4 0 -RenderEvent 803 212 0 0 0 4 0 -InteractionEvent 803 212 0 0 0 4 0 -MouseMoveEvent 800 212 0 0 0 4 0 -RenderEvent 800 212 0 0 0 4 0 -InteractionEvent 800 212 0 0 0 4 0 -MouseMoveEvent 796 212 0 0 0 4 0 -RenderEvent 796 212 0 0 0 4 0 -InteractionEvent 796 212 0 0 0 4 0 -MouseMoveEvent 794 212 0 0 0 4 0 -RenderEvent 794 212 0 0 0 4 0 -InteractionEvent 794 212 0 0 0 4 0 -MouseMoveEvent 791 211 0 0 0 4 0 -RenderEvent 791 211 0 0 0 4 0 -InteractionEvent 791 211 0 0 0 4 0 -MouseMoveEvent 787 211 0 0 0 4 0 -RenderEvent 787 211 0 0 0 4 0 -InteractionEvent 787 211 0 0 0 4 0 -MouseMoveEvent 784 211 0 0 0 4 0 -RenderEvent 784 211 0 0 0 4 0 -InteractionEvent 784 211 0 0 0 4 0 -MouseMoveEvent 780 211 0 0 0 4 0 -RenderEvent 780 211 0 0 0 4 0 -InteractionEvent 780 211 0 0 0 4 0 -MouseMoveEvent 778 211 0 0 0 4 0 -RenderEvent 778 211 0 0 0 4 0 -InteractionEvent 778 211 0 0 0 4 0 -MouseMoveEvent 773 211 0 0 0 4 0 -RenderEvent 773 211 0 0 0 4 0 -InteractionEvent 773 211 0 0 0 4 0 -MouseMoveEvent 769 210 0 0 0 4 0 -RenderEvent 769 210 0 0 0 4 0 -InteractionEvent 769 210 0 0 0 4 0 -MouseMoveEvent 764 210 0 0 0 4 0 -RenderEvent 764 210 0 0 0 4 0 -InteractionEvent 764 210 0 0 0 4 0 -MouseMoveEvent 760 209 0 0 0 4 0 -RenderEvent 760 209 0 0 0 4 0 -InteractionEvent 760 209 0 0 0 4 0 -MouseMoveEvent 756 209 0 0 0 4 0 -RenderEvent 756 209 0 0 0 4 0 -InteractionEvent 756 209 0 0 0 4 0 -MouseMoveEvent 751 208 0 0 0 4 0 -RenderEvent 751 208 0 0 0 4 0 -InteractionEvent 751 208 0 0 0 4 0 -MouseMoveEvent 747 208 0 0 0 4 0 -RenderEvent 747 208 0 0 0 4 0 -InteractionEvent 747 208 0 0 0 4 0 -MouseMoveEvent 744 208 0 0 0 4 0 -RenderEvent 744 208 0 0 0 4 0 -InteractionEvent 744 208 0 0 0 4 0 -MouseMoveEvent 740 207 0 0 0 4 0 -RenderEvent 740 207 0 0 0 4 0 -InteractionEvent 740 207 0 0 0 4 0 -MouseMoveEvent 736 207 0 0 0 4 0 -RenderEvent 736 207 0 0 0 4 0 -InteractionEvent 736 207 0 0 0 4 0 -MouseMoveEvent 733 207 0 0 0 4 0 -RenderEvent 733 207 0 0 0 4 0 -InteractionEvent 733 207 0 0 0 4 0 -MouseMoveEvent 730 207 0 0 0 4 0 -RenderEvent 730 207 0 0 0 4 0 -InteractionEvent 730 207 0 0 0 4 0 -MouseMoveEvent 727 207 0 0 0 4 0 -RenderEvent 727 207 0 0 0 4 0 -InteractionEvent 727 207 0 0 0 4 0 -MouseMoveEvent 724 207 0 0 0 4 0 -RenderEvent 724 207 0 0 0 4 0 -InteractionEvent 724 207 0 0 0 4 0 -MouseMoveEvent 721 207 0 0 0 4 0 -RenderEvent 721 207 0 0 0 4 0 -InteractionEvent 721 207 0 0 0 4 0 -MouseMoveEvent 720 207 0 0 0 4 0 -RenderEvent 720 207 0 0 0 4 0 -InteractionEvent 720 207 0 0 0 4 0 -MouseMoveEvent 717 207 0 0 0 4 0 -RenderEvent 717 207 0 0 0 4 0 -InteractionEvent 717 207 0 0 0 4 0 -MouseMoveEvent 715 207 0 0 0 4 0 -RenderEvent 715 207 0 0 0 4 0 -InteractionEvent 715 207 0 0 0 4 0 -MouseMoveEvent 712 207 0 0 0 4 0 -RenderEvent 712 207 0 0 0 4 0 -InteractionEvent 712 207 0 0 0 4 0 -MouseMoveEvent 711 206 0 0 0 4 0 -RenderEvent 711 206 0 0 0 4 0 -InteractionEvent 711 206 0 0 0 4 0 -MouseMoveEvent 710 206 0 0 0 4 0 -RenderEvent 710 206 0 0 0 4 0 -InteractionEvent 710 206 0 0 0 4 0 -MouseMoveEvent 707 206 0 0 0 4 0 -RenderEvent 707 206 0 0 0 4 0 -InteractionEvent 707 206 0 0 0 4 0 -MouseMoveEvent 706 206 0 0 0 4 0 -RenderEvent 706 206 0 0 0 4 0 -InteractionEvent 706 206 0 0 0 4 0 -MouseMoveEvent 705 206 0 0 0 4 0 -RenderEvent 705 206 0 0 0 4 0 -InteractionEvent 705 206 0 0 0 4 0 -MouseMoveEvent 704 206 0 0 0 4 0 -RenderEvent 704 206 0 0 0 4 0 -InteractionEvent 704 206 0 0 0 4 0 -MouseMoveEvent 702 206 0 0 0 4 0 -RenderEvent 702 206 0 0 0 4 0 -InteractionEvent 702 206 0 0 0 4 0 -MouseMoveEvent 701 206 0 0 0 4 0 -RenderEvent 701 206 0 0 0 4 0 -InteractionEvent 701 206 0 0 0 4 0 -MouseMoveEvent 700 206 0 0 0 4 0 -RenderEvent 700 206 0 0 0 4 0 -InteractionEvent 700 206 0 0 0 4 0 -MouseMoveEvent 700 205 0 0 0 4 0 -RenderEvent 700 205 0 0 0 4 0 -InteractionEvent 700 205 0 0 0 4 0 -MouseMoveEvent 699 205 0 0 0 4 0 -RenderEvent 699 205 0 0 0 4 0 -InteractionEvent 699 205 0 0 0 4 0 -MouseMoveEvent 698 205 0 0 0 4 0 -RenderEvent 698 205 0 0 0 4 0 -InteractionEvent 698 205 0 0 0 4 0 -MouseMoveEvent 697 205 0 0 0 4 0 -RenderEvent 697 205 0 0 0 4 0 -InteractionEvent 697 205 0 0 0 4 0 -MouseMoveEvent 696 204 0 0 0 4 0 -RenderEvent 696 204 0 0 0 4 0 -InteractionEvent 696 204 0 0 0 4 0 -MouseMoveEvent 695 204 0 0 0 4 0 -RenderEvent 695 204 0 0 0 4 0 -InteractionEvent 695 204 0 0 0 4 0 -MouseMoveEvent 692 204 0 0 0 4 0 -RenderEvent 692 204 0 0 0 4 0 -InteractionEvent 692 204 0 0 0 4 0 -MouseMoveEvent 690 204 0 0 0 4 0 -RenderEvent 690 204 0 0 0 4 0 -InteractionEvent 690 204 0 0 0 4 0 -MouseMoveEvent 687 204 0 0 0 4 0 -RenderEvent 687 204 0 0 0 4 0 -InteractionEvent 687 204 0 0 0 4 0 -MouseMoveEvent 685 204 0 0 0 4 0 -RenderEvent 685 204 0 0 0 4 0 -InteractionEvent 685 204 0 0 0 4 0 -MouseMoveEvent 682 203 0 0 0 4 0 -RenderEvent 682 203 0 0 0 4 0 -InteractionEvent 682 203 0 0 0 4 0 -MouseMoveEvent 681 203 0 0 0 4 0 -RenderEvent 681 203 0 0 0 4 0 -InteractionEvent 681 203 0 0 0 4 0 -MouseMoveEvent 679 203 0 0 0 4 0 -RenderEvent 679 203 0 0 0 4 0 -InteractionEvent 679 203 0 0 0 4 0 -MouseMoveEvent 677 202 0 0 0 4 0 -RenderEvent 677 202 0 0 0 4 0 -InteractionEvent 677 202 0 0 0 4 0 -MouseMoveEvent 674 202 0 0 0 4 0 -RenderEvent 674 202 0 0 0 4 0 -InteractionEvent 674 202 0 0 0 4 0 -MouseMoveEvent 672 202 0 0 0 4 0 -RenderEvent 672 202 0 0 0 4 0 -InteractionEvent 672 202 0 0 0 4 0 -MouseMoveEvent 671 201 0 0 0 4 0 -RenderEvent 671 201 0 0 0 4 0 -InteractionEvent 671 201 0 0 0 4 0 -MouseMoveEvent 668 201 0 0 0 4 0 -RenderEvent 668 201 0 0 0 4 0 -InteractionEvent 668 201 0 0 0 4 0 -MouseMoveEvent 667 201 0 0 0 4 0 -RenderEvent 667 201 0 0 0 4 0 -InteractionEvent 667 201 0 0 0 4 0 -MouseMoveEvent 664 201 0 0 0 4 0 -RenderEvent 664 201 0 0 0 4 0 -InteractionEvent 664 201 0 0 0 4 0 -MouseMoveEvent 661 201 0 0 0 4 0 -RenderEvent 661 201 0 0 0 4 0 -InteractionEvent 661 201 0 0 0 4 0 -MouseMoveEvent 658 200 0 0 0 4 0 -RenderEvent 658 200 0 0 0 4 0 -InteractionEvent 658 200 0 0 0 4 0 -MouseMoveEvent 656 200 0 0 0 4 0 -RenderEvent 656 200 0 0 0 4 0 -InteractionEvent 656 200 0 0 0 4 0 -MouseMoveEvent 653 200 0 0 0 4 0 -RenderEvent 653 200 0 0 0 4 0 -InteractionEvent 653 200 0 0 0 4 0 -MouseMoveEvent 650 199 0 0 0 4 0 -RenderEvent 650 199 0 0 0 4 0 -InteractionEvent 650 199 0 0 0 4 0 -MouseMoveEvent 648 199 0 0 0 4 0 -RenderEvent 648 199 0 0 0 4 0 -InteractionEvent 648 199 0 0 0 4 0 -MouseMoveEvent 645 199 0 0 0 4 0 -RenderEvent 645 199 0 0 0 4 0 -InteractionEvent 645 199 0 0 0 4 0 -MouseMoveEvent 642 198 0 0 0 4 0 -RenderEvent 642 198 0 0 0 4 0 -InteractionEvent 642 198 0 0 0 4 0 -MouseMoveEvent 639 198 0 0 0 4 0 -RenderEvent 639 198 0 0 0 4 0 -InteractionEvent 639 198 0 0 0 4 0 -MouseMoveEvent 637 198 0 0 0 4 0 -RenderEvent 637 198 0 0 0 4 0 -InteractionEvent 637 198 0 0 0 4 0 -MouseMoveEvent 634 198 0 0 0 4 0 -RenderEvent 634 198 0 0 0 4 0 -InteractionEvent 634 198 0 0 0 4 0 -MouseMoveEvent 632 197 0 0 0 4 0 -RenderEvent 632 197 0 0 0 4 0 -InteractionEvent 632 197 0 0 0 4 0 -MouseMoveEvent 629 197 0 0 0 4 0 -RenderEvent 629 197 0 0 0 4 0 -InteractionEvent 629 197 0 0 0 4 0 -MouseMoveEvent 626 197 0 0 0 4 0 -RenderEvent 626 197 0 0 0 4 0 -InteractionEvent 626 197 0 0 0 4 0 -MouseMoveEvent 624 197 0 0 0 4 0 -RenderEvent 624 197 0 0 0 4 0 -InteractionEvent 624 197 0 0 0 4 0 -MouseMoveEvent 621 196 0 0 0 4 0 -RenderEvent 621 196 0 0 0 4 0 -InteractionEvent 621 196 0 0 0 4 0 -MouseMoveEvent 619 196 0 0 0 4 0 -RenderEvent 619 196 0 0 0 4 0 -InteractionEvent 619 196 0 0 0 4 0 -MouseMoveEvent 617 196 0 0 0 4 0 -RenderEvent 617 196 0 0 0 4 0 -InteractionEvent 617 196 0 0 0 4 0 -MouseMoveEvent 615 196 0 0 0 4 0 -RenderEvent 615 196 0 0 0 4 0 -InteractionEvent 615 196 0 0 0 4 0 -MouseMoveEvent 613 196 0 0 0 4 0 -RenderEvent 613 196 0 0 0 4 0 -InteractionEvent 613 196 0 0 0 4 0 -MouseMoveEvent 611 195 0 0 0 4 0 -RenderEvent 611 195 0 0 0 4 0 -InteractionEvent 611 195 0 0 0 4 0 -TimerEvent 611 195 0 0 0 4 0 -MouseMoveEvent 610 195 0 0 0 4 0 -RenderEvent 610 195 0 0 0 4 0 -InteractionEvent 610 195 0 0 0 4 0 -MouseMoveEvent 608 195 0 0 0 4 0 -RenderEvent 608 195 0 0 0 4 0 -InteractionEvent 608 195 0 0 0 4 0 -MouseMoveEvent 607 195 0 0 0 4 0 -RenderEvent 607 195 0 0 0 4 0 -InteractionEvent 607 195 0 0 0 4 0 -MouseMoveEvent 606 195 0 0 0 4 0 -RenderEvent 606 195 0 0 0 4 0 -InteractionEvent 606 195 0 0 0 4 0 -MouseMoveEvent 605 195 0 0 0 4 0 -RenderEvent 605 195 0 0 0 4 0 -InteractionEvent 605 195 0 0 0 4 0 -MouseMoveEvent 604 195 0 0 0 4 0 -RenderEvent 604 195 0 0 0 4 0 -InteractionEvent 604 195 0 0 0 4 0 -TimerEvent 604 195 0 0 0 4 0 -MouseMoveEvent 603 195 0 0 0 4 0 -RenderEvent 603 195 0 0 0 4 0 -InteractionEvent 603 195 0 0 0 4 0 -MouseMoveEvent 603 194 0 0 0 4 0 -RenderEvent 603 194 0 0 0 4 0 -InteractionEvent 603 194 0 0 0 4 0 -MouseMoveEvent 602 194 0 0 0 4 0 -RenderEvent 602 194 0 0 0 4 0 -InteractionEvent 602 194 0 0 0 4 0 -MouseMoveEvent 601 194 0 0 0 4 0 -RenderEvent 601 194 0 0 0 4 0 -InteractionEvent 601 194 0 0 0 4 0 -MouseMoveEvent 600 194 0 0 0 4 0 -RenderEvent 600 194 0 0 0 4 0 -InteractionEvent 600 194 0 0 0 4 0 -MouseMoveEvent 599 194 0 0 0 4 0 -RenderEvent 599 194 0 0 0 4 0 -InteractionEvent 599 194 0 0 0 4 0 -MouseMoveEvent 598 194 0 0 0 4 0 -RenderEvent 598 194 0 0 0 4 0 -InteractionEvent 598 194 0 0 0 4 0 -MouseMoveEvent 596 194 0 0 0 4 0 -RenderEvent 596 194 0 0 0 4 0 -InteractionEvent 596 194 0 0 0 4 0 -MouseMoveEvent 595 194 0 0 0 4 0 -RenderEvent 595 194 0 0 0 4 0 -InteractionEvent 595 194 0 0 0 4 0 -MouseMoveEvent 594 194 0 0 0 4 0 -RenderEvent 594 194 0 0 0 4 0 -InteractionEvent 594 194 0 0 0 4 0 -MouseMoveEvent 592 194 0 0 0 4 0 -RenderEvent 592 194 0 0 0 4 0 -InteractionEvent 592 194 0 0 0 4 0 -MouseMoveEvent 590 194 0 0 0 4 0 -RenderEvent 590 194 0 0 0 4 0 -InteractionEvent 590 194 0 0 0 4 0 -MouseMoveEvent 589 194 0 0 0 4 0 -RenderEvent 589 194 0 0 0 4 0 -InteractionEvent 589 194 0 0 0 4 0 -MouseMoveEvent 586 194 0 0 0 4 0 -RenderEvent 586 194 0 0 0 4 0 -InteractionEvent 586 194 0 0 0 4 0 -MouseMoveEvent 584 194 0 0 0 4 0 -RenderEvent 584 194 0 0 0 4 0 -InteractionEvent 584 194 0 0 0 4 0 -MouseMoveEvent 582 194 0 0 0 4 0 -RenderEvent 582 194 0 0 0 4 0 -InteractionEvent 582 194 0 0 0 4 0 -MouseMoveEvent 579 194 0 0 0 4 0 -RenderEvent 579 194 0 0 0 4 0 -InteractionEvent 579 194 0 0 0 4 0 -MouseMoveEvent 578 193 0 0 0 4 0 -RenderEvent 578 193 0 0 0 4 0 -InteractionEvent 578 193 0 0 0 4 0 -MouseMoveEvent 575 193 0 0 0 4 0 -RenderEvent 575 193 0 0 0 4 0 -InteractionEvent 575 193 0 0 0 4 0 -MouseMoveEvent 572 193 0 0 0 4 0 -RenderEvent 572 193 0 0 0 4 0 -InteractionEvent 572 193 0 0 0 4 0 -MouseMoveEvent 570 193 0 0 0 4 0 -RenderEvent 570 193 0 0 0 4 0 -InteractionEvent 570 193 0 0 0 4 0 -MouseMoveEvent 567 193 0 0 0 4 0 -RenderEvent 567 193 0 0 0 4 0 -InteractionEvent 567 193 0 0 0 4 0 -MouseMoveEvent 564 193 0 0 0 4 0 -RenderEvent 564 193 0 0 0 4 0 -InteractionEvent 564 193 0 0 0 4 0 -MouseMoveEvent 562 193 0 0 0 4 0 -RenderEvent 562 193 0 0 0 4 0 -InteractionEvent 562 193 0 0 0 4 0 -MouseMoveEvent 559 192 0 0 0 4 0 -RenderEvent 559 192 0 0 0 4 0 -InteractionEvent 559 192 0 0 0 4 0 -MouseMoveEvent 557 192 0 0 0 4 0 -RenderEvent 557 192 0 0 0 4 0 -InteractionEvent 557 192 0 0 0 4 0 -MouseMoveEvent 554 192 0 0 0 4 0 -RenderEvent 554 192 0 0 0 4 0 -InteractionEvent 554 192 0 0 0 4 0 -MouseMoveEvent 552 192 0 0 0 4 0 -RenderEvent 552 192 0 0 0 4 0 -InteractionEvent 552 192 0 0 0 4 0 -MouseMoveEvent 550 191 0 0 0 4 0 -RenderEvent 550 191 0 0 0 4 0 -InteractionEvent 550 191 0 0 0 4 0 -MouseMoveEvent 547 191 0 0 0 4 0 -RenderEvent 547 191 0 0 0 4 0 -InteractionEvent 547 191 0 0 0 4 0 -MouseMoveEvent 545 191 0 0 0 4 0 -RenderEvent 545 191 0 0 0 4 0 -InteractionEvent 545 191 0 0 0 4 0 -MouseMoveEvent 543 190 0 0 0 4 0 -RenderEvent 543 190 0 0 0 4 0 -InteractionEvent 543 190 0 0 0 4 0 -MouseMoveEvent 540 190 0 0 0 4 0 -RenderEvent 540 190 0 0 0 4 0 -InteractionEvent 540 190 0 0 0 4 0 -MouseMoveEvent 537 190 0 0 0 4 0 -RenderEvent 537 190 0 0 0 4 0 -InteractionEvent 537 190 0 0 0 4 0 -MouseMoveEvent 536 190 0 0 0 4 0 -RenderEvent 536 190 0 0 0 4 0 -InteractionEvent 536 190 0 0 0 4 0 -MouseMoveEvent 534 190 0 0 0 4 0 -RenderEvent 534 190 0 0 0 4 0 -InteractionEvent 534 190 0 0 0 4 0 -MouseMoveEvent 532 190 0 0 0 4 0 -RenderEvent 532 190 0 0 0 4 0 -InteractionEvent 532 190 0 0 0 4 0 -MouseMoveEvent 530 190 0 0 0 4 0 -RenderEvent 530 190 0 0 0 4 0 -InteractionEvent 530 190 0 0 0 4 0 -MouseMoveEvent 528 190 0 0 0 4 0 -RenderEvent 528 190 0 0 0 4 0 -InteractionEvent 528 190 0 0 0 4 0 -MouseMoveEvent 526 190 0 0 0 4 0 -RenderEvent 526 190 0 0 0 4 0 -InteractionEvent 526 190 0 0 0 4 0 -MouseMoveEvent 524 190 0 0 0 4 0 -RenderEvent 524 190 0 0 0 4 0 -InteractionEvent 524 190 0 0 0 4 0 -TimerEvent 524 190 0 0 0 4 0 -MouseMoveEvent 522 190 0 0 0 4 0 -RenderEvent 522 190 0 0 0 4 0 -InteractionEvent 522 190 0 0 0 4 0 -MouseMoveEvent 521 190 0 0 0 4 0 -RenderEvent 521 190 0 0 0 4 0 -InteractionEvent 521 190 0 0 0 4 0 -MouseMoveEvent 519 190 0 0 0 4 0 -RenderEvent 519 190 0 0 0 4 0 -InteractionEvent 519 190 0 0 0 4 0 -MouseMoveEvent 518 190 0 0 0 4 0 -RenderEvent 518 190 0 0 0 4 0 -InteractionEvent 518 190 0 0 0 4 0 -MouseMoveEvent 517 190 0 0 0 4 0 -RenderEvent 517 190 0 0 0 4 0 -InteractionEvent 517 190 0 0 0 4 0 -MouseMoveEvent 516 190 0 0 0 4 0 -RenderEvent 516 190 0 0 0 4 0 -InteractionEvent 516 190 0 0 0 4 0 -MouseMoveEvent 514 190 0 0 0 4 0 -RenderEvent 514 190 0 0 0 4 0 -InteractionEvent 514 190 0 0 0 4 0 -MouseMoveEvent 512 191 0 0 0 4 0 -RenderEvent 512 191 0 0 0 4 0 -InteractionEvent 512 191 0 0 0 4 0 -MouseMoveEvent 512 192 0 0 0 4 0 -RenderEvent 512 192 0 0 0 4 0 -InteractionEvent 512 192 0 0 0 4 0 -MouseMoveEvent 511 192 0 0 0 4 0 -RenderEvent 511 192 0 0 0 4 0 -InteractionEvent 511 192 0 0 0 4 0 -MouseMoveEvent 510 192 0 0 0 4 0 -RenderEvent 510 192 0 0 0 4 0 -InteractionEvent 510 192 0 0 0 4 0 -MouseMoveEvent 509 192 0 0 0 4 0 -RenderEvent 509 192 0 0 0 4 0 -InteractionEvent 509 192 0 0 0 4 0 -MouseMoveEvent 509 193 0 0 0 4 0 -RenderEvent 509 193 0 0 0 4 0 -InteractionEvent 509 193 0 0 0 4 0 -MouseMoveEvent 507 193 0 0 0 4 0 -RenderEvent 507 193 0 0 0 4 0 -InteractionEvent 507 193 0 0 0 4 0 -MouseMoveEvent 507 194 0 0 0 4 0 -RenderEvent 507 194 0 0 0 4 0 -InteractionEvent 507 194 0 0 0 4 0 -MouseMoveEvent 505 194 0 0 0 4 0 -RenderEvent 505 194 0 0 0 4 0 -InteractionEvent 505 194 0 0 0 4 0 -MouseMoveEvent 504 194 0 0 0 4 0 -RenderEvent 504 194 0 0 0 4 0 -InteractionEvent 504 194 0 0 0 4 0 -MouseMoveEvent 503 195 0 0 0 4 0 -RenderEvent 503 195 0 0 0 4 0 -InteractionEvent 503 195 0 0 0 4 0 -MouseMoveEvent 502 196 0 0 0 4 0 -RenderEvent 502 196 0 0 0 4 0 -InteractionEvent 502 196 0 0 0 4 0 -MouseMoveEvent 501 196 0 0 0 4 0 -RenderEvent 501 196 0 0 0 4 0 -InteractionEvent 501 196 0 0 0 4 0 -MouseMoveEvent 501 197 0 0 0 4 0 -RenderEvent 501 197 0 0 0 4 0 -InteractionEvent 501 197 0 0 0 4 0 -MouseMoveEvent 500 197 0 0 0 4 0 -RenderEvent 500 197 0 0 0 4 0 -InteractionEvent 500 197 0 0 0 4 0 - -LeftButtonReleaseEvent 500 197 0 0 0 4 0 -EndInteractionEvent 500 197 0 0 0 4 0 -RenderEvent 500 197 0 0 0 4 0 +LeftButtonPressEvent 843 339 0 0 0 4 0 +StartInteractionEvent 843 339 0 0 0 4 0 +TimerEvent 843 339 0 0 0 4 0 +TimerEvent 843 339 0 0 0 4 0 +MouseMoveEvent 842 339 0 0 0 4 0 +RenderEvent 842 339 0 0 0 4 0 +InteractionEvent 842 339 0 0 0 4 0 +MouseMoveEvent 841 340 0 0 0 4 0 +RenderEvent 841 340 0 0 0 4 0 +InteractionEvent 841 340 0 0 0 4 0 +MouseMoveEvent 840 340 0 0 0 4 0 +RenderEvent 840 340 0 0 0 4 0 +InteractionEvent 840 340 0 0 0 4 0 +MouseMoveEvent 840 341 0 0 0 4 0 +RenderEvent 840 341 0 0 0 4 0 +InteractionEvent 840 341 0 0 0 4 0 +MouseMoveEvent 839 341 0 0 0 4 0 +RenderEvent 839 341 0 0 0 4 0 +InteractionEvent 839 341 0 0 0 4 0 +TimerEvent 839 341 0 0 0 4 0 +MouseMoveEvent 837 342 0 0 0 4 0 +RenderEvent 837 342 0 0 0 4 0 +InteractionEvent 837 342 0 0 0 4 0 +MouseMoveEvent 835 342 0 0 0 4 0 +RenderEvent 835 342 0 0 0 4 0 +InteractionEvent 835 342 0 0 0 4 0 +MouseMoveEvent 834 342 0 0 0 4 0 +RenderEvent 834 342 0 0 0 4 0 +InteractionEvent 834 342 0 0 0 4 0 +MouseMoveEvent 833 342 0 0 0 4 0 +RenderEvent 833 342 0 0 0 4 0 +InteractionEvent 833 342 0 0 0 4 0 +TimerEvent 833 342 0 0 0 4 0 +MouseMoveEvent 832 342 0 0 0 4 0 +RenderEvent 832 342 0 0 0 4 0 +InteractionEvent 832 342 0 0 0 4 0 +MouseMoveEvent 831 342 0 0 0 4 0 +RenderEvent 831 342 0 0 0 4 0 +InteractionEvent 831 342 0 0 0 4 0 +MouseMoveEvent 831 343 0 0 0 4 0 +RenderEvent 831 343 0 0 0 4 0 +InteractionEvent 831 343 0 0 0 4 0 +TimerEvent 831 343 0 0 0 4 0 +LeftButtonReleaseEvent 831 343 0 0 0 4 0 +EndInteractionEvent 831 343 0 0 0 4 0 diff --git a/vtkext/private/module/vtkF3DInteractorStyle.cxx b/vtkext/private/module/vtkF3DInteractorStyle.cxx index 909d57039f..8588972447 100644 --- a/vtkext/private/module/vtkF3DInteractorStyle.cxx +++ b/vtkext/private/module/vtkF3DInteractorStyle.cxx @@ -153,10 +153,8 @@ void vtkF3DInteractorStyle::Rotate() double dir[3]; camera->GetDirectionOfProjection(dir); double* up = ren->GetUpVector(); - if (this->UseTemporaryUp) - { - up = this->TemporaryUp; - } + InterpolateTemporaryUp(0.1, up); + up = this->TemporaryUp; double dot = vtkMath::Dot(dir, up); @@ -338,17 +336,33 @@ void vtkF3DInteractorStyle::FindPokedRenderer(int vtkNotUsed(x), int vtkNotUsed( } //------------------------------------------------------------------------------ -void vtkF3DInteractorStyle::EndTemporaryUp() +void vtkF3DInteractorStyle::ResetTemporaryUp() { - this->UseTemporaryUp = false; + // Make sure this->CurrentRenderer is set + this->FindPokedRenderer(0, 0); + + if (this->CurrentRenderer) + { + vtkF3DRenderer* ren = vtkF3DRenderer::SafeDownCast(this->CurrentRenderer); + SetTemporaryUp(ren->GetUpVector()); + } } //------------------------------------------------------------------------------ void vtkF3DInteractorStyle::SetTemporaryUp(const double *tempUp) { - this->UseTemporaryUp = true; for (int i = 0; i < 3; i++) { this->TemporaryUp[i] = tempUp[i]; } } + +//------------------------------------------------------------------------------ +void vtkF3DInteractorStyle::InterpolateTemporaryUp(double factor, const double* input) +{ + for (int i = 0; i < 3; i++) + { + this->TemporaryUp[i] = (1.0 - factor) * this->TemporaryUp[i] + factor * input[i]; + } + vtkMath::Normalize(this->TemporaryUp); +} diff --git a/vtkext/private/module/vtkF3DInteractorStyle.h b/vtkext/private/module/vtkF3DInteractorStyle.h index d1cc3cfd27..c80b6cdd95 100644 --- a/vtkext/private/module/vtkF3DInteractorStyle.h +++ b/vtkext/private/module/vtkF3DInteractorStyle.h @@ -109,8 +109,9 @@ class vtkF3DInteractorStyle : public vtkInteractorStyleTrackballCamera /** * Temporary up vector to support rolled camera interaction */ - void EndTemporaryUp(); + void ResetTemporaryUp(); void SetTemporaryUp(const double *tempUp); + void InterpolateTemporaryUp(const double factor, const double* input); protected: @@ -124,7 +125,6 @@ class vtkF3DInteractorStyle : public vtkInteractorStyleTrackballCamera /** * Temporary up vector to support rolled camera interaction */ - bool UseTemporaryUp = false; double TemporaryUp[3] = { 0, 0, 0 }; }; From a1676829f9ef52b1a20f64f4f10605ae85d5b012 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sat, 11 Jan 2025 15:40:44 -0600 Subject: [PATCH 09/11] Review feedback 01/11 --- application/testing/CMakeLists.txt | 2 +- testing/baselines/TestInteractionRollCameraRotation.png | 4 ++-- vtkext/private/module/vtkF3DInteractorStyle.cxx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/application/testing/CMakeLists.txt b/application/testing/CMakeLists.txt index f8608aec18..9f29c2f356 100644 --- a/application/testing/CMakeLists.txt +++ b/application/testing/CMakeLists.txt @@ -834,7 +834,7 @@ f3d_test(NAME TestInteractionOrthographicProjection DATA cow.vtp INTERACTION) #5 f3d_test(NAME TestInteractionZoomToggleOrthographicProjection DATA cow.vtp INTERACTION) #MouseWheel;5;Mousewheelx6;5 f3d_test(NAME TestInteractionRotateCameraMinus90 DATA f3d.glb INTERACTION) f3d_test(NAME TestInteractionRotateCamera90 DATA f3d.glb INTERACTION) -f3d_test(NAME TestInteractionRollCameraRotation DATA f3d.glb INTERACTION) #1;4;LeftMouse;MouseMovements +f3d_test(NAME TestInteractionRollCameraRotation DATA f3d.glb ARGS -g INTERACTION) #1;4;LeftMouse;MouseMovements f3d_test(NAME TestInteractionPanWithShift DATA f3d.glb INTERACTION) #Shift;LeftMouse;MouseMovements f3d_test(NAME TestInteractionConsoleOpen DATA f3d.glb INTERACTION UI) #Escape f3d_test(NAME TestInteractionConsoleOpenExit DATA f3d.glb REGEXP "Interactor has been stopped" INTERACTION NO_BASELINE UI) #Escape;exit;Return diff --git a/testing/baselines/TestInteractionRollCameraRotation.png b/testing/baselines/TestInteractionRollCameraRotation.png index 599fdbf846..2bba8820d6 100644 --- a/testing/baselines/TestInteractionRollCameraRotation.png +++ b/testing/baselines/TestInteractionRollCameraRotation.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9d171c185318110b279166211833e1d23ce787a65123095f5c8fe37cc361197f -size 2271 +oid sha256:d00f18a435046a5a298981c3bf6684edaa22e02957e0b4c7de0ee3500ea1c582 +size 15385 diff --git a/vtkext/private/module/vtkF3DInteractorStyle.cxx b/vtkext/private/module/vtkF3DInteractorStyle.cxx index 8588972447..3433d792c6 100644 --- a/vtkext/private/module/vtkF3DInteractorStyle.cxx +++ b/vtkext/private/module/vtkF3DInteractorStyle.cxx @@ -153,7 +153,7 @@ void vtkF3DInteractorStyle::Rotate() double dir[3]; camera->GetDirectionOfProjection(dir); double* up = ren->GetUpVector(); - InterpolateTemporaryUp(0.1, up); + this->InterpolateTemporaryUp(0.1, up); up = this->TemporaryUp; double dot = vtkMath::Dot(dir, up); From 02e6c274cd49413f87ded86fe55333d55db846e3 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sun, 12 Jan 2025 09:16:36 -0600 Subject: [PATCH 10/11] ci exception --- .github/actions/generic-ci/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/generic-ci/action.yml b/.github/actions/generic-ci/action.yml index b7c5745c55..f2b1294df3 100644 --- a/.github/actions/generic-ci/action.yml +++ b/.github/actions/generic-ci/action.yml @@ -234,7 +234,7 @@ runs: runner.os == 'macOS' && inputs.cpu == 'arm64' shell: bash - run: echo "F3D_CTEST_EXCEPTIONS=(TestDepthPeelingToneMapping)|(TestDepthPeeling)|(TestTextureColor)|(TestDXF)|(TestScalarsCell)|(TestXCAFColors)|(TestGrid)|(TestConfig)|(TestGLTFDracoImporter)|(TestInteractionActors)|(TestInteractionFocalPointPickingPoints)|(TestInteractionCycleAnimation)|(TestInteractionAnimationSlow)|(TestInteractionConfigFileInteractions)|(TestGLTFRigArmature)" >> $GITHUB_ENV + run: echo "F3D_CTEST_EXCEPTIONS=(TestDepthPeelingToneMapping)|(TestDepthPeeling)|(TestTextureColor)|(TestDXF)|(TestScalarsCell)|(TestXCAFColors)|(TestGrid)|(TestConfig)|(TestGLTFDracoImporter)|(TestInteractionActors)|(TestInteractionFocalPointPickingPoints)|(TestInteractionCycleAnimation)|(TestInteractionAnimationSlow)|(TestInteractionConfigFileInteractions)|(TestGLTFRigArmature)|(TestInteractionRollCameraRotation)" >> $GITHUB_ENV - name: Test shell: bash From cc789cb8526dc6fd945515070b17782dcb166cd6 Mon Sep 17 00:00:00 2001 From: samoncrief Date: Sun, 12 Jan 2025 11:29:41 -0600 Subject: [PATCH 11/11] remove whitespace --- vtkext/private/module/vtkF3DInteractorStyle.h | 1 - 1 file changed, 1 deletion(-) diff --git a/vtkext/private/module/vtkF3DInteractorStyle.h b/vtkext/private/module/vtkF3DInteractorStyle.h index c80b6cdd95..8587d5a7f5 100644 --- a/vtkext/private/module/vtkF3DInteractorStyle.h +++ b/vtkext/private/module/vtkF3DInteractorStyle.h @@ -113,7 +113,6 @@ class vtkF3DInteractorStyle : public vtkInteractorStyleTrackballCamera void SetTemporaryUp(const double *tempUp); void InterpolateTemporaryUp(const double factor, const double* input); - protected: /** * Overridden to support being disabled