From 04a90052468df9d33111f06d83545af1ac87fbac Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sat, 14 Feb 2015 09:34:06 +0000 Subject: [PATCH] Include : - aggiornamento interfacce - correzione macro di Logger. --- EGkTriangle3d.h | 9 +++++++++ EGrScene.h | 2 ++ EInAPI.h | 22 ++++++++++++++++------ EgkSurfTriMesh.h | 2 ++ EgtILogger.h | 2 +- 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/EGkTriangle3d.h b/EGkTriangle3d.h index 1cd4e6d..a146125 100644 --- a/EGkTriangle3d.h +++ b/EGkTriangle3d.h @@ -79,6 +79,15 @@ class Triangle3d } ; //----------------------------------------------------------------------------- +// Flags indicanti se i lati sono parte del contorno di un poligono di pił triangoli +class TriFlags3d +{ + public : + bool bFlag[3] ; +} ; + +//----------------------------------------------------------------------------- +// Normali sui vertici, ottenute mediando opportunamente coi triangoli vicini class TriNormals3d { public : diff --git a/EGrScene.h b/EGrScene.h index 10ef61f..657d508 100644 --- a/EGrScene.h +++ b/EGrScene.h @@ -82,6 +82,8 @@ class IEGrScene virtual int GetShowMode( void) = 0 ; virtual void SetShowCurveDirection( bool bShow) = 0 ; virtual bool GetShowCurveDirection( void) = 0 ; + virtual void SetShowTriaAdvanced( bool bAdvanced)= 0 ; + virtual bool GetShowTriaAdvanced( void) = 0 ; // Geometry virtual bool SetExtension( const BBox3d& b3Ext) = 0 ; virtual bool UpdateExtension( void) = 0 ; diff --git a/EInAPI.h b/EInAPI.h index fb7c7a6..3848df6 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -139,6 +139,10 @@ EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPointBulges( int nParentId, int EIN_EXPORT int __stdcall EgtCreateCurveCompoByApprox( int nParentId, int nSouId, BOOL bArcsVsLines, double dLinTol) ; EIN_EXPORT int __stdcall EgtCreateRectangle3P( int nParentId, const double ptIni[3], const double ptCross[3], const double ptDir[3], int nRefType) ; +EIN_EXPORT int __stdcall EgtCreatePolygonFromRadius( int nParentId, int nNumSides, const double ptCen[3], + const double ptCorn[3], const double vtN[3], int nRefType) ; +EIN_EXPORT int __stdcall EgtCreatePolygonFromApothem( int nParentId, int nNumSides, const double ptCen[3], + const double ptMid[3], const double vtN[3], int nRefType) ; EIN_EXPORT int __stdcall EgtCreatePolygonFromSide( int nParentId, int nNumSides, const double ptIni[3], const double ptFin[3], const double vtN[3], int nRefType) ; @@ -357,6 +361,8 @@ EIN_EXPORT BOOL __stdcall EgtSetShowMode( int nShowMode, BOOL bRedraw) ; EIN_EXPORT int __stdcall EgtGetShowMode( void) ; EIN_EXPORT BOOL __stdcall EgtSetShowCurveDirection( BOOL bShow, BOOL bRedraw) ; EIN_EXPORT BOOL __stdcall EgtGetShowCurveDirection( void) ; +EIN_EXPORT BOOL __stdcall EgtSetShowTriaAdv( BOOL bAdvanced, BOOL bRedraw) ; +EIN_EXPORT BOOL __stdcall EgtGetShowTriaAdv( void) ; EIN_EXPORT BOOL __stdcall EgtZoom( int nZoom, BOOL bRedraw) ; EIN_EXPORT BOOL __stdcall EgtZoomOnPoint( int nWinX, int nWinY, double dCoeff, BOOL bRedraw) ; EIN_EXPORT BOOL __stdcall EgtSetGeoLine( const double ptP1[3], const double ptP2[3], BOOL bRedraw) ; @@ -369,15 +375,15 @@ EIN_EXPORT BOOL __stdcall EgtZoomWin( int nPrevX, int nPrevY, int nCurrX, int nC EIN_EXPORT BOOL __stdcall EgtSetView( int nView, BOOL bRedraw) ; EIN_EXPORT BOOL __stdcall EgtSetGenericView( double dAngVertDeg, double dAngHorizDeg, BOOL bRedraw) ; EIN_EXPORT BOOL __stdcall EgtSetViewCenter( const double ptP[3], BOOL bRedraw) ; -EIN_EXPORT BOOL __stdcall EgtPanCamera( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ; -EIN_EXPORT BOOL __stdcall EgtRotateCamera( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ; -EIN_EXPORT BOOL __stdcall EgtGetCameraDir( int* pnDir) ; +EIN_EXPORT BOOL __stdcall EgtPanView( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ; +EIN_EXPORT BOOL __stdcall EgtRotateView( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ; +EIN_EXPORT BOOL __stdcall EgtGetView( int* pnDir) ; +EIN_EXPORT BOOL __stdcall EgtGetGenericView( double* pdAngVertDeg, double* pdAngHorizDeg) ; EIN_EXPORT BOOL __stdcall EgtProjectPoint( const double ptP[3], double ptWin[3]) ; EIN_EXPORT BOOL __stdcall EgtUnProjectPoint( int nWinX, int nWinY, double ptP[3]) ; // Geo Base -EIN_EXPORT BOOL __stdcall EgtVectorNormalize( double* pdX, double* pdY, double* pdZ, - double dEps = EPS_SMALL) ; +EIN_EXPORT BOOL __stdcall EgtVectorNormalize( double* pdX, double* pdY, double* pdZ, double dEps = 0.001) ; EIN_EXPORT BOOL __stdcall EgtVectorRotate( double* pdX, double* pdY, double* pdZ, const double vtAx[3], double dAngRotDeg) ; EIN_EXPORT BOOL __stdcall EgtVectorScale( double* pdX, double* pdY, double* pdZ, @@ -429,7 +435,11 @@ EIN_EXPORT BOOL __stdcall EgtFrameToLoc( double ptOrig[3], double vtX[3], double EIN_EXPORT BOOL __stdcall EgtFrameLocToLoc( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3], const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3], const double ptO2[3], const double vtX2[3], const double vtY2[3], const double vtZ2[3]) ; - + +// Messages +EIN_EXPORT BOOL __stdcall EgtLoadMessages( const wchar_t* wsMsgFilePath) ; +EIN_EXPORT const wchar_t* __stdcall EgtGetMsg( int nMsg) ; + #ifdef __cplusplus } #endif diff --git a/EgkSurfTriMesh.h b/EgkSurfTriMesh.h index d380d0e..672ac35 100644 --- a/EgkSurfTriMesh.h +++ b/EgkSurfTriMesh.h @@ -28,6 +28,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ; virtual bool Init( int nNumVert, int nNumTria) = 0 ; virtual void SetLinearTolerance( double dLinTol) = 0 ; + virtual void SetBoundaryAngle( double dBoundaryAngDeg) = 0 ; virtual void SetSmoothAngle( double dSmoothAngDeg) = 0 ; virtual int AddVertex( const Point3d& ptVert) = 0 ; virtual int AddTriangle( const int nIdVert[3]) = 0 ; @@ -54,6 +55,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf virtual int GetNextTriangle( int nId, int nIdVert[3]) const = 0 ; virtual int GetFirstTriangle( Triangle3d& Tria) const = 0 ; virtual int GetNextTriangle( int nId, Triangle3d& Tria) const = 0 ; + virtual bool GetTriangleBoundaryEdges( int nId, TriFlags3d& TFlags) const = 0 ; virtual bool GetTriangleSmoothNormals( int nId, TriNormals3d& TNrms) const = 0 ; } ; diff --git a/EgtILogger.h b/EgtILogger.h index 19608bb..548d12c 100644 --- a/EgtILogger.h +++ b/EgtILogger.h @@ -19,7 +19,7 @@ #define LOG_INFO( pLog, szText) { if ( (pLog) != nullptr) \ (pLog)->Log( LL_INFO, LI_NONE, nullptr, 0, nullptr, szText) ; } #define LOG_WARN( pLog, szText) { if ( (pLog) != nullptr) \ - ((pLog)->Log( LL_WARN, LI_NONE, nullptr, 0, nullptr, szText) ; } + (pLog)->Log( LL_WARN, LI_NONE, nullptr, 0, nullptr, szText) ; } #define LOG_ERROR( pLog, szText) { if ( (pLog) != nullptr) \ (pLog)->Log( LL_ERROR, LI_NONE, nullptr, 0, nullptr, szText) ; } #define LOG_DBG_INFO( pLog, szText) { if ( (pLog) != nullptr) \