}
//----------------------------------------------------------------------------
-
-void wxVtkBaseView::TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool is3D, bool keepNormalDirection, int type) //virtual //is3d=false keepNormalDirection=false, type=2
-{
+
+void wxVtkBaseView::TransCoordScreenToWorld(double &X, double &Y, double &Z, int type)
+{
GetRenderer()->SetDisplayPoint((int)X, (int)Y, (int)Z);
GetRenderer()->DisplayToWorld();
double fP[4];
fP[2] /= fP[3];
}
- if(is3D)
+ if (type!=0)
{
X=fP[0];
+ }
+ if (type!=1)
+ {
Y=fP[1];
- Z=fP[2];
}
- else
+ if (type!=2)
{
- // EEDx5
- //JCP 13/05/2009
- vtkInteractorStyleBaseView* interactorstyle = (vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView();
- wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)interactorstyle->GetWxVtk2DBaseView();
- baseview->TransformCoordinate_spacing_ViewToModel( fP[0] , fP[1] , fP[2] );
- //JCP 13/05/2009
-
- if (type!=0)
- {
- X=fP[0];
- }
- if (type!=1)
- {
- Y=fP[1];
- }
- if (type!=2)
- {
- Z=fP[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();
+
+ 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
+
+ if (type!=0)
+ {
+ X=fP[0];
}
+ if (type!=1)
+ {
+ Y=fP[1];
+ }
+ if (type!=2)
+ {
+ Z=fP[2];
+ }
}
//---------------------------------------------------------------------------
virtual void RefreshView();
virtual vtkRenderer* GetRenderer();
virtual vtkRenderWindow* GetRenWin();
- virtual void TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool is3D=false,bool keepNormalDirection=false,int type=2);
+ virtual void TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool keepNormalDirection=false,int type=2);
+
+ //RaC 03-2010 Method used by TransFromCoordScreenToWorld
+ void TransCoordScreenToWorld(double &X, double &Y, double &Z,int type=2);
+
/* JCP 04/05/09
void SetInteractorStyleBaseView( vtkInteractorStyleBaseView* interactorStyle);
*/