diff --git a/EgtGraphics.rc b/EgtGraphics.rc
index 65d1c57..793f481 100644
Binary files a/EgtGraphics.rc and b/EgtGraphics.rc differ
diff --git a/EgtGraphics.vcxproj b/EgtGraphics.vcxproj
index b452fd1..ddffdcd 100644
--- a/EgtGraphics.vcxproj
+++ b/EgtGraphics.vcxproj
@@ -22,7 +22,7 @@
{4EC970B1-B4D9-4088-8A31-B462CF72116E}
Win32Proj
EgtGraphics
- 10.0.17763.0
+ 10.0.20348.0
@@ -108,6 +108,7 @@
CompileAsCpp
+ stdcpp17
Windows
@@ -170,6 +171,7 @@ copy $(TargetPath) \EgtProg\DllD64
true
true
Use
+ stdcpp17
Windows
diff --git a/Scene.h b/Scene.h
index 005dd28..d677ec8 100644
--- a/Scene.h
+++ b/Scene.h
@@ -107,6 +107,7 @@ class Scene : public IEGrScene
bool ZoomOnPoint( const Point3d& ptWin, double dCoeff) override ;
bool ZoomWin( const Point3d& ptWin1, const Point3d& ptWin2) override ;
bool RotateCameraWithCube() ;
+ void GetOrthoCamParam( double* pdWidth, double* pdHeight, double* pdNear, double* pdFar) const override ;
// ShowMode
bool SetShowMode( int nShowMode) override
{ if ( nShowMode != SM_WIREFRAME &&
@@ -143,6 +144,8 @@ 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& dSnapStep, int& nExtStep) const override ;
+ bool GetShowGrid() override ;
// Glob Frame
bool SetGlobFrameShow( bool bShow) override ;
// Glob Cube
@@ -291,9 +294,9 @@ class Scene : public IEGrScene
HDC m_hDC ; // Device Context
HGLRC m_hRC ; // OpenGL Rendering Context
int m_nOglVer ; // OpenGL Version
- bool m_bNewWay ; // flag che indica nuova modalità (OpenGL 3.0 in poi)
+ bool m_bNewWay ; // flag che indica nuova modalit� (OpenGL 3.0 in poi)
// Camera
- Point3d m_ptCenter ; // centro verso cui è rivolta la camera
+ Point3d m_ptCenter ; // centro verso cui � rivolta la camera
Vector3d m_vtDirCamera ; // versore direzione dal centro alla camera
double m_dDistCamera ; // distanza dal centro alla camera
Vector3d m_vtUp ; // versore direzione Su della camera
@@ -309,7 +312,7 @@ class Scene : public IEGrScene
int m_nShowMode ; // modo di visualizzazione (wireframe, hiddenline, shading)
bool m_bShowCurveDirection ; // flag di visualizzazione direzione curve
bool m_bShowTriaAdvanced ; // flag per abilitare la visualizzazione avanzata dei triangoli
- int m_nShowZmap ; // modo visualizzazione Zmap (+1=surf, +2=spilloni, +4=normali, +8=più colori)
+ int m_nShowZmap ; // modo visualizzazione Zmap (+1=surf, +2=spilloni, +4=normali, +8=pi� colori)
int m_nShowText ; // modo visualizzazione scritte (1=solo contorni, 2=con riempimento)
// PointSize - LineWidth
double m_dPointSize ; // dimensione punti
@@ -334,9 +337,9 @@ class Scene : public IEGrScene
SelRec m_nSelBuff[DIM_SEL_BUF] ; // buffer per selezione con OpenGL
// Snap
// lo snap a oggetti usa la select, quindi anche per esso valgono m_nObjFilterForSelect e m_Unsel
- int m_nLastSnapId ; // Id dell'entità generatrice dell'ultimo punto snap
+ int m_nLastSnapId ; // Id dell'entit� generatrice dell'ultimo punto snap
Point3d m_ptLastSnapPnt ; // ultimo punto di snap
- bool m_bLastSnapDirOk ; // flag validità direzione associata a ultimo punto snap
+ bool m_bLastSnapDirOk ; // flag validit� direzione associata a ultimo punto snap
Vector3d m_vtLastSnapDir ; // direzione associata a ultimo punto snap
// Geometry
IGeomDB* m_pGeomDB ; // puntatore al DB geometrico
diff --git a/SceneCamera.cpp b/SceneCamera.cpp
index c0727ef..f61df93 100644
--- a/SceneCamera.cpp
+++ b/SceneCamera.cpp
@@ -416,4 +416,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/SceneGeom.cpp b/SceneGeom.cpp
index 4c31ff1..adbe088 100644
--- a/SceneGeom.cpp
+++ b/SceneGeom.cpp
@@ -301,7 +301,7 @@ Scene::DrawGeoObj( const IGdbIterator& iIter, int nPass, const MdStMkCol& siObj)
return false ;
// aggiorno la grafica (colori speciali)
PolyLine plX, plY, plZ ;
- pFrame->GetDrawWithArrowHeads( 10, 0.1, plX, plY, plZ) ;
+ pFrame->GetDrawWithArrowHeads( 40, 0.1, plX, plY, plZ) ;
pGraphics->Clear() ;
pGraphics->AddColor( RED) ;
pGraphics->AddPolyLine( plX) ;
diff --git a/SceneGrid.cpp b/SceneGrid.cpp
index 8ac1a0c..afa901f 100644
--- a/SceneGrid.cpp
+++ b/SceneGrid.cpp
@@ -196,4 +196,19 @@ Scene::DrawGrid( void)
glLineWidth( (float) GetLineWidth()) ;
return true ;
+}
+
+//----------------------------------------------------------------------------
+void
+Scene::GetGridParam( double& dSnapStep, int& nExtStep) const
+{
+ dSnapStep = m_dSnapStep ;
+ nExtStep = m_nExtSstep ;
+}
+
+//----------------------------------------------------------------------------
+bool
+Scene::GetShowGrid()
+{
+ return m_bShowGrid ;
}
\ No newline at end of file