diff --git a/EGkDllMain.cpp b/EGkDllMain.cpp index 0ee5a33..54e5896 100644 --- a/EGkDllMain.cpp +++ b/EGkDllMain.cpp @@ -159,11 +159,20 @@ InitFontManager( const string& sNfeFontDir, const string& sDefaultFont) { // recupero il font manager FontManager& fntMgr = FontManager::GetFontManager() ; - // lo inizializzo fntMgr.Init( sNfeFontDir, sDefaultFont) ; } +//----------------------------------------------------------------------------- +void +SetDefaultFont( const string& sDefaultFont) +{ + // recupero il font manager + FontManager& fntMgr = FontManager::GetFontManager() ; + // imposto il dato + fntMgr.SetDefaultFont( sDefaultFont) ; +} + //----------------------------------------------------------------------------- const string& GetNfeFontDir( void) diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 65a1dfb..4b21411 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/FontManager.h b/FontManager.h index 1b4eb3a..27b9ccc 100644 --- a/FontManager.h +++ b/FontManager.h @@ -29,6 +29,8 @@ class FontManager public : bool Init( const std::string& sNfeFontDir, const std::string& sDefaultFont) ; + bool SetDefaultFont( const std::string& sDefaultFont) + { m_sDefaultFont = sDefaultFont ; return true ; } bool SetCurrFont( const std::string& sFont, int nWeight, bool bItalic, double dHeight, double dRatio, double dAddAdvance) ; const std::string& GetNfeFontDir( void) const @@ -54,7 +56,7 @@ class FontManager OsFont m_OsFont ; private : - FontManager( void) {} + FontManager( void) : m_bCurrNfeFont( false) {} FontManager( FontManager const& copy) = delete ; FontManager& operator=( FontManager const& copy) = delete ; } ; diff --git a/SurfTriMesh.cpp b/SurfTriMesh.cpp index 725eb83..1ca8a0d 100644 --- a/SurfTriMesh.cpp +++ b/SurfTriMesh.cpp @@ -3637,6 +3637,18 @@ SurfTriMesh::Invert( void) for ( int i = 0 ; i < GetTriangleSize() ; ++ i) InvertTriangle( i) ; + // se bordi della sfaccettatura validi + if ( m_bFacEdged) { + for ( int nE = 0 ; nE < GetEdgeCount() ; ++ nE) { + // inversione dei vertici nel vettore delle sfaccettature + swap( m_vFacEdge[nE].nIdVert[0], m_vFacEdge[nE].nIdVert[1]) ; + // inversione delle adiacenze nel vettore delle sfaccettature + swap( m_vFacEdge[nE].nIdFacAdj[0], m_vFacEdge[nE].nIdFacAdj[1]) ; + // inversione dell'angolo interno + m_vFacEdge[nE].dIntAng *= -1. ; + } + } + return true ; }