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