diff --git a/Scene.h b/Scene.h index c5e2a04..914f44b 100644 --- a/Scene.h +++ b/Scene.h @@ -106,6 +106,7 @@ class Scene : public IEGrScene bool ZoomChange( double dCoeff) override ; bool ZoomOnPoint( const Point3d& ptWin, double dCoeff) override ; bool ZoomWin( const Point3d& ptWin1, const Point3d& ptWin2) override ; + void GetOrthoCamParam( double* pdWidth, double* pdHeight, double* pdNear, double* pdFar) const override ; // ShowMode bool SetShowMode( int nShowMode) override { if ( nShowMode != SM_WIREFRAME && @@ -142,6 +143,7 @@ class Scene : public IEGrScene bool SetGridShow( bool bShowGrid, bool bShowFrame) override ; bool SetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) override ; bool SetGridColor( Color colMinLine, Color colMajLine) override ; + void GetGridParam( double* pdSnapStep, int* pnExtStep) const override ; // Glob Frame bool SetGlobFrameShow( bool bShow) override ; // Direct diff --git a/SceneCamera.cpp b/SceneCamera.cpp index e962f1b..98310ac 100644 --- a/SceneCamera.cpp +++ b/SceneCamera.cpp @@ -418,4 +418,18 @@ Scene::ZoomWin( const Point3d& ptWin1, const Point3d& ptWin2) // adatto le dimensioni a quelle della vista return AdjustDimView( dHalfWidth, dHalfHeight) ; -} \ No newline at end of file +} + +//---------------------------------------------------------------------------- +void +Scene::GetOrthoCamParam( double* pdWidth, double* pdHeight, double* pdNear, double* pdFar) const +{ + if ( pdWidth != nullptr) + *pdWidth = m_dHalfWidth ; + if ( pdHeight != nullptr) + *pdHeight = m_dHalfHeight ; + if ( pdNear != nullptr) + *pdNear = m_dZNear ; + if ( pdFar != nullptr) + *pdFar = m_dZFar ; +} diff --git a/SceneGrid.cpp b/SceneGrid.cpp index d0990e0..bc3ef49 100644 --- a/SceneGrid.cpp +++ b/SceneGrid.cpp @@ -170,4 +170,14 @@ Scene::DrawGrid( void) glLineWidth( (float) GetLineWidth()) ; return true ; +} + +//---------------------------------------------------------------------------- +void +Scene::GetGridParam(double* pdSnapStep, int* pnExtStep) const +{ + if ( pdSnapStep != nullptr) + *pdSnapStep = m_dSnapStep ; + if ( pnExtStep != nullptr) + *pnExtStep = m_nExtSstep ; } \ No newline at end of file