X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkBaseView.cxx;h=2cd9da1c9fc2f881e475adc909abe438668b5bfe;hb=b2ac7f59e78e33f8e11065cffa2f2072aa9a9ee5;hp=d7c40b192fceb098c5c45a99fc83af1a0217938d;hpb=4df00b156385a2dd881c35fd7561ef9eb0885ee0;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.cxx index d7c40b1..2cd9da1 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.cxx @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# 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 "vtkInteractorStyleBaseView.h" @@ -24,8 +49,6 @@ wxVtkBaseView::wxVtkBaseView(wxWindow *parent) // _iren->UseCaptureMouseOn(); // _iren = new wxVTKRenderWindowInteractor(_parent,-1); _interactorStyle = NULL; - - } //------------------------------------------------------------------- @@ -50,8 +73,8 @@ void wxVtkBaseView::Configure() // virtual //------------------------------------------------------------------- void wxVtkBaseView::Refresh() // virtual { + // EED 10 Oct 2007 - #if defined(WIN32) _iren->Refresh(false); #else @@ -69,6 +92,7 @@ void wxVtkBaseView::Refresh() // virtual //------------------------------------------------------------------- void wxVtkBaseView::RefreshView() // virtual { + printf("EED wxVtkBaseView::RefreshView() \n"); // EED 10 Oct 2007 #if defined(WIN32) @@ -90,9 +114,9 @@ vtkRenderWindow* wxVtkBaseView::GetRenWin() // virtual } //---------------------------------------------------------------------------- - -void wxVtkBaseView::TransfromeCoordScreenToWorld(double &X, double &Y, double &Z, int type) // virtual -{ + +void wxVtkBaseView::TransCoordScreenToWorld(double &X, double &Y, double &Z, int type) +{ GetRenderer()->SetDisplayPoint((int)X, (int)Y, (int)Z); GetRenderer()->DisplayToWorld(); double fP[4]; @@ -103,10 +127,44 @@ void wxVtkBaseView::TransfromeCoordScreenToWorld(double &X, double &Y, double &Z fP[2] /= fP[3]; } + if (type!=0) + { + X=fP[0]; + } + if (type!=1) + { + Y=fP[1]; + } + if (type!=2) + { + Z=fP[2]; + } +} +//---------------------------------------------------------------------------- + +void wxVtkBaseView::TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool keepNormalDirection, int type) //virtual //keepNormalDirection=false, type=2 +{ + double xx = X; + double yy = Y; + double zz = Z; + + //RaC 03-2010 + TransCoordScreenToWorld(xx,yy,zz,type); + + X = xx; + Y = yy; + Z=zz; + // EEDx5 //JCP 13/05/2009 vtkInteractorStyleBaseView* interactorstyle = (vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView(); - wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)interactorstyle->GetWxVtk2DBaseView(); + wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)interactorstyle->GetWxVtk2DBaseView(); + + double fP[3]; + fP[0] = X; + fP[1] = Y; + fP[2] = Z; + baseview->TransformCoordinate_spacing_ViewToModel( fP[0] , fP[1] , fP[2] ); //JCP 13/05/2009 @@ -136,7 +194,6 @@ vtkInteractorStyleImage* wxVtkBaseView::GetInteractorStyleBaseView() return _interactorStyle; } - //--------------------------------------------------------------------------- void wxVtkBaseView::SetInteractorStyleBaseView( vtkInteractorStyleImage* interactorStyle) @@ -154,6 +211,25 @@ void wxVtkBaseView::GetSpacing(double spc[3]) // virtual } +//--------------------------------------------------------------------------- +int wxVtkBaseView::GetDirection() // virtual +{ + return -1; +} + +//------------------------------------------------------------------- +vtkBaseData *wxVtkBaseView::GetVtkBaseData() +{ + return _vtkbasedata; +} + +//------------------------------------------------------------------- +void wxVtkBaseView::SetVtkBaseData(vtkBaseData *vtkbasedata) +{ + _vtkbasedata=vtkbasedata; +} + + //------------------------------------------------------------------- //-------------------------------------------------------------------