diff --git a/EgtGraphics.rc b/EgtGraphics.rc index d979ace..d41b977 100644 Binary files a/EgtGraphics.rc and b/EgtGraphics.rc differ diff --git a/SceExecutor.cpp b/SceExecutor.cpp index 47707e6..c56646b 100644 --- a/SceExecutor.cpp +++ b/SceExecutor.cpp @@ -1,13 +1,13 @@ //---------------------------------------------------------------------------- // EgalTech 2013-2014 //---------------------------------------------------------------------------- -// File : GraExecutor.cpp Data : 18.02.14 Versione : 1.5b3 +// File : GraExecutor.cpp Data : 15.04.14 Versione : 1.5d4 // Contenuto : Implementazione della classe GraExecutor. // // // // Modifiche : 18.02.14 DS Creazione modulo. -// +// 15.04.14 DS Agg. ExecuteShowMode. // //---------------------------------------------------------------------------- @@ -41,6 +41,8 @@ SceExecutor::SceExecutor( void) m_ExecMgr.Insert( "ZOOM", &SceExecutor::ExecuteZoom) ; m_ExecMgr.Insert( "CENTER", &SceExecutor::ExecuteCenter) ; m_ExecMgr.Insert( "CAMERA", &SceExecutor::ExecuteCamera) ; + m_ExecMgr.Insert( "SM", &SceExecutor::ExecuteShowMode) ; + m_ExecMgr.Insert( "SHOWMODE", &SceExecutor::ExecuteShowMode) ; } //---------------------------------------------------------------------------- @@ -176,6 +178,24 @@ SceExecutor::ExecuteCamera( const string& sCmd2, const STRVECTOR& vsParams) // eseguo m_pScene->SetCamera( dAngVertDeg, dAngOrizzDeg, 0) ; } + else + return false ; return true ; } + +//---------------------------------------------------------------------------- +bool +SceExecutor::ExecuteShowMode( const string& sCmd2, const STRVECTOR& vsParams) +{ + if ( sCmd2 == "WF" || sCmd2 == "WIREFRTAME") + m_pScene->SetShowMode( SM_WIREFRAME) ; + else if ( sCmd2 == "HL" || sCmd2 == "HIDDENLINE") + m_pScene->SetShowMode( SM_HIDDENLINE) ; + else if ( sCmd2 == "SH" || sCmd2 == "SHADING") + m_pScene->SetShowMode( SM_SHADING) ; + else + return false ; + + return true ; +} diff --git a/SceExecutor.h b/SceExecutor.h index 9bffc05..d48a324 100644 --- a/SceExecutor.h +++ b/SceExecutor.h @@ -39,6 +39,7 @@ class SceExecutor : public ISceExecutor bool ExecuteZoom( const std::string& sCmd2, const STRVECTOR& vsParams) ; bool ExecuteCenter( const std::string& sCmd2, const STRVECTOR& vsParams) ; bool ExecuteCamera( const std::string& sCmd2, const STRVECTOR& vsParams) ; + bool ExecuteShowMode( const std::string& sCmd2, const STRVECTOR& vsParams) ; private : IEGrScene* m_pScene ; diff --git a/SceneCamera.cpp b/SceneCamera.cpp index 716d8ab..bb432e9 100644 --- a/SceneCamera.cpp +++ b/SceneCamera.cpp @@ -144,13 +144,13 @@ Scene::GetCameraDir( void) return CT_LEFT ; else if ( m_vtDirCamera.IsZminus()) return CT_BOTTOM ; - else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( SQRT1_3, - SQRT1_3, - SQRT1_3))) + else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( - SQRT1_3, - SQRT1_3, SQRT1_3))) return CT_ISO_SW ; - else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( SQRT1_3, SQRT1_3, - SQRT1_3))) + else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( SQRT1_3, - SQRT1_3, SQRT1_3))) return CT_ISO_SE ; else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( SQRT1_3, SQRT1_3, SQRT1_3))) return CT_ISO_NE ; - else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( SQRT1_3, - SQRT1_3, SQRT1_3))) + else if ( AreSameVectorNear( m_vtDirCamera, Vector3d( - SQRT1_3, SQRT1_3, SQRT1_3))) return CT_ISO_NW ; else return CT_NONE ;