]> Creatis software - creaMaracasVisu.git/commitdiff
#3263 creaMaracasVisu Feature New Normal - ViewerNV sync ParallelScale Camera
authorEduardo DAVILA <davila@ei-ed-606.creatis.insa-lyon.fr>
Mon, 17 Jun 2019 14:21:23 +0000 (16:21 +0200)
committerEduardo DAVILA <davila@ei-ed-606.creatis.insa-lyon.fr>
Mon, 17 Jun 2019 14:21:23 +0000 (16:21 +0200)
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView2D.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView2D.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorZoomCamera.cxx [new file with mode: 0644]
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorZoomCamera.h [new file with mode: 0644]
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx

index 48b3a4ddeea7463afcb6af56b8256a1a242970ef..8ecfd9e6e32c385c490dec4096200e2682867a84 100644 (file)
@@ -49,24 +49,6 @@ manualInteractorWindowLevel::~manualInteractorWindowLevel()
 
 bool manualInteractorWindowLevel::OnMouseMove()                        // virtual 
 {
-
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-printf("EED Warning manualInteractorWindowLevel::OnMouseMove    Clean this put in a specific class for camera Interaction ....\n");
-
-// EED Mising in the wheal event  and the ctrl+MouseRight Event
-       wxVtk2DBaseView *wxvtk2Dbaseview        = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
-       vtkBaseData *vtkbasedata                        = wxvtk2Dbaseview->GetVtkBaseData();
-       double parallelscaling=wxvtk2Dbaseview->GetRenderer()->GetActiveCamera()->GetParallelScale();
-       vtkbasedata->SetCameraParallelScale( parallelscaling );
-       this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
-//-----------------
-
-
        if (_stateWindowLevel==true)
        {
                int tmpPx,tmpPy;
index 940b06f5e753af946537df7d990cc280886c075c..36b64db0ea7aa49b276ad238c1ca77a11802236a 100644 (file)
@@ -45,6 +45,11 @@ vtkInteractorStyleBaseView2D::vtkInteractorStyleBaseView2D()
        //
        // _vtkInteractorScrollZ = new vtkInteractorScrollZ();
        // AddInteractorStyleMaracas(_vtkInteractorScrollZ);
+       //
+       //_vtkInteractorZoomCamera = interactorZoomcamera;
+       //AddInteractorStyleMaracas(_vtkInteractorZoomCamera);
+       //
+       //
        ////////////
 }
 //---------------------------------------------------------------------------
@@ -66,6 +71,15 @@ void  vtkInteractorStyleBaseView2D::SetInteractorWindowLevel(manualInteractorWin
        AddInteractorStyleMaracas(_manualinteractorwindowlevel);
 }
 
+
+//---------------------------------------------------------------------------
+void  vtkInteractorStyleBaseView2D::SetInteractorZoomCamera(vtkInteractorZoomCamera* interactorZoomcamera)
+{    
+       _vtkInteractorZoomCamera = interactorZoomcamera;
+       AddInteractorStyleMaracas(_vtkInteractorZoomCamera);
+}
+
+
 //---------------------------------------------------------------------------
 void  vtkInteractorStyleBaseView2D::OnRightButtonDown()  // virtual
 {    
index 4d10e9c633069dc52f166260ce605db4bdf7ab85..674628c1dffabea384962d824a32c1870290a942 100644 (file)
@@ -27,6 +27,7 @@
 #define VTKINTERACTORSTYLEBASEVIEW2D_H_
 
 #include "vtkInteractorScrollZ.h"
+#include "vtkInteractorZoomCamera.h"
 
 #include "manualInteractorWindowLevel.h"
 //------------------------------------------------------------------
@@ -42,6 +43,8 @@ public:
        // RaC 04-2010 Look for the description of new changes in vtkInteractorStyleBaseView2D constructor.
        void  SetInteractorScrollZ(vtkInteractorScrollZ* interactorScroll);
        void  SetInteractorWindowLevel(manualInteractorWindowLevel* interactorWindowLevel);
+       void  SetInteractorZoomCamera(vtkInteractorZoomCamera* interactorZoomcamera);
+
 
        virtual void OnMouseMove();
        virtual void OnLeftButtonDown(); 
@@ -59,6 +62,7 @@ protected:
 private:
        manualInteractorWindowLevel             *_manualinteractorwindowlevel;
        vtkInteractorScrollZ                    *_vtkInteractorScrollZ;
+       vtkInteractorZoomCamera                 *_vtkInteractorZoomCamera;
 };
 
 
diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorZoomCamera.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorZoomCamera.cxx
new file mode 100644 (file)
index 0000000..17eb250
--- /dev/null
@@ -0,0 +1,84 @@
+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+#                        pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and
+#  abiding by the rules of distribution of free software. You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL-B
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
+
+#include "vtkInteractorZoomCamera.h"
+#include "wxVtk2DBaseView.h"
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
+
+vtkInteractorZoomCamera::vtkInteractorZoomCamera()
+{
+}
+
+//---------------------------------------------------------------------------
+vtkInteractorZoomCamera::~vtkInteractorZoomCamera()
+{
+}
+
+//---------------------------------------------------------------------------
+bool vtkInteractorZoomCamera::OnRightButtonDown()
+{
+       return true;
+}
+
+//---------------------------------------------------------------------------
+bool vtkInteractorZoomCamera::OnRightButtonUp()
+{
+       return true;
+}
+
+//---------------------------------------------------------------------------
+bool vtkInteractorZoomCamera::OnMouseMove ()
+{
+       SetZoomCamera();
+       return true;
+}
+
+//---------------------------------------------------------------------------
+bool vtkInteractorZoomCamera::OnMouseWheelForward()
+{
+       SetZoomCamera();
+       return true;
+}
+
+//---------------------------------------------------------------------------
+bool vtkInteractorZoomCamera::OnMouseWheelBackward()
+{
+       SetZoomCamera();
+       return true;
+}
+
+//---------------------------------------------------------------------------
+void vtkInteractorZoomCamera::SetZoomCamera()
+{
+       wxVtk2DBaseView *wxvtk2Dbaseview        = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
+       vtkBaseData *vtkbasedata                        = wxvtk2Dbaseview->GetVtkBaseData();
+       double parallelscaling=wxvtk2Dbaseview->GetRenderer()->GetActiveCamera()->GetParallelScale();
+       vtkbasedata->SetCameraParallelScale( parallelscaling );
+       this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
+}
+
diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorZoomCamera.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorZoomCamera.h
new file mode 100644 (file)
index 0000000..1e1f9c0
--- /dev/null
@@ -0,0 +1,49 @@
+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+#                        pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and
+#  abiding by the rules of distribution of free software. You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL-B
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
+#ifndef VTKINTERACTORZOOMCAMERA_H_
+#define VTKINTERACTORZOOMCAMERA_H_
+
+#include "InteractorStyleMaracas.h"
+
+class vtkInteractorZoomCamera : public InteractorStyleMaracas {
+public:
+       vtkInteractorZoomCamera();
+       virtual ~vtkInteractorZoomCamera();
+       virtual bool OnMouseMove();
+       virtual bool OnRightButtonDown();
+       virtual bool OnRightButtonUp();
+       virtual bool OnMouseWheelForward();
+       virtual bool OnMouseWheelBackward();
+
+       void SetZoomCamera();
+       
+
+protected:
+private:
+
+};
+
+#endif /*VTKINTERACTORSCROLLZ_H_*/
index 4ade1682394fa7df720fd625f3bcad94066d87e0..5337c807149d005d81571e3b5aa476a66779726a 100644 (file)
@@ -141,6 +141,11 @@ printf("//EED wxVtk2DBaseView::ResetView %d %d    %d %d     %d %d \n",x1,x2,y1,y
        vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
        style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
 
+       vtkInteractorZoomCamera *_vtkInteractorZoomCamera = new vtkInteractorZoomCamera();
+       style2D->SetInteractorZoomCamera(_vtkInteractorZoomCamera);
+
+
+
        SetInteractorStyleImage( style2D );
 
        // RaC
@@ -200,6 +205,9 @@ void wxVtk2DBaseView::Configure(bool okimage)
                vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
                style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
 
+               vtkInteractorZoomCamera *_vtkInteractorZoomCamera = new vtkInteractorZoomCamera();
+               style2D->SetInteractorZoomCamera(_vtkInteractorZoomCamera);
+
                SetInteractorStyleImage( style2D );
 
                // RaC