From 0c6127648c7cbd944577dd0241518b2e03d7e6f6 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sun, 10 Mar 2024 10:27:45 +0100 Subject: [PATCH 1/5] Include : - aggiornamento prototipi. --- EGkColor.h | 1 + EGkGdbConst.h | 1 + EGkSurfTriMesh.h | 6 ++++-- EGkVolZmap.h | 8 +++++--- EXeExecutor.h | 4 +++- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/EGkColor.h b/EGkColor.h index af50e12..f927cc2 100644 --- a/EGkColor.h +++ b/EGkColor.h @@ -108,6 +108,7 @@ class Color const Color WHITE( 255, 255, 255) ; const Color LGRAY( 192, 192, 192) ; const Color GRAY( 128, 128, 128) ; +const Color DGRAY( 64, 64, 64) ; const Color BLACK( 0, 0, 0) ; const Color RED( 255, 0, 0) ; const Color MAROON( 128, 0, 0) ; diff --git a/EGkGdbConst.h b/EGkGdbConst.h index 531c517..56f536a 100644 --- a/EGkGdbConst.h +++ b/EGkGdbConst.h @@ -88,3 +88,4 @@ const std::string GDB_SI_DUPLIST = "!DLST" ; // Duplo Vettore Id entit const std::string GDB_SI_DUPMODIF = "!DMOD" ; // Flag di sorgente per duplo modificato const std::string GDB_SI_DUPLOCKED = "!DLOK" ; // Flag di duplo bloccato (da non aggiornare seguendo originale) const std::string GDB_SI_DUPTOUPDATE = "!DTUP" ; // Flag di duplo da aggiornare quando sbloccato +const std::string GDB_SI_SHOWEDGES = "!SEDG" ; // Flag per forzare visualizzazione spigoli vivi anche in shading diff --git a/EGkSurfTriMesh.h b/EGkSurfTriMesh.h index 3510e12..6fc1c62 100644 --- a/EGkSurfTriMesh.h +++ b/EGkSurfTriMesh.h @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------- -// EgalTech 2014-2023 +// EgalTech 2014-2024 //---------------------------------------------------------------------------- -// File : EGkSurfTriMesh.h Data : 10.12.23 Versione : 2.5l2 +// File : EGkSurfTriMesh.h Data : 05.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione della interfaccia ISurfTriMesh. // // @@ -43,6 +43,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf virtual void SetLinearTolerance( double dLinTol) = 0 ; virtual void SetBoundaryAngle( double dBoundaryAngDeg) = 0 ; virtual void SetSmoothAngle( double dSmoothAngDeg) = 0 ; + virtual void SetShowEdges( bool bShow) = 0 ; virtual int AddVertex( const Point3d& ptVert, double dU = -1, double dV = -1) = 0 ; virtual bool MoveVertex( int nInd, const Point3d& ptNewVert) = 0 ; virtual int AddTriangle( const int nIdVert[3], int nTFlag = 0) = 0 ; @@ -67,6 +68,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf virtual int GetTriangleSize( void) const = 0 ; virtual double GetLinearTolerance( void) const = 0 ; virtual double GetSmoothAngle( void) const = 0 ; + virtual bool GetShowEdges( void) const = 0 ; virtual bool GetVertex( int nId, Point3d& ptP) const = 0 ; virtual bool GetVertexParam( int nId, double& dU, double& dV) const = 0 ; virtual int GetFirstVertex( Point3d& ptP) const = 0 ; diff --git a/EGkVolZmap.h b/EGkVolZmap.h index f1a1245..0184877 100644 --- a/EGkVolZmap.h +++ b/EGkVolZmap.h @@ -1,14 +1,14 @@ //---------------------------------------------------------------------------- -// EgalTech 2015-2023 +// EgalTech 2015-2024 //---------------------------------------------------------------------------- -// File : EGkVolZmap.h Data : 12.09.23 Versione : 2.5i1 +// File : EGkVolZmap.h Data : 09.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione della interfaccia IVolZmap. // // // // Modifiche : 22.01.15 DS Creazione modulo. // 12.09.23 DS Aggiunto metodo IsTriDexel. -// +// 09.03.24 DS Aggiunti SetShowEdges e GetShowEdges. // //---------------------------------------------------------------------------- @@ -39,6 +39,8 @@ class __declspec( novtable) IVolZmap : public IGeoObj virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ; virtual int GetResolution( void) const = 0 ; virtual bool ChangeResolution( int nDexvoxRatio) = 0 ; + virtual void SetShowEdges( bool bShow) = 0 ; + virtual bool GetShowEdges( void) const = 0 ; virtual bool SetToolTolerances( double dLinTol, double dAngTolDeg = 90) = 0 ; virtual bool SetStdTool( const std::string& sToolName, double dH, double dR, double dCornR, double dCutterH, int nFlag, bool bFirst) = 0 ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 34a1238..fd6e42e 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -620,17 +620,19 @@ EXE_EXPORT bool ExeCutSurfTmClosedCurve( int nSurfId, int nCurveId, bool bSaveOn EXE_EXPORT bool ExeSurfTmAdd( int nId1, int nId2, bool bTwoColors = false) ; EXE_EXPORT bool ExeSurfTmSubtract( int nId1, int nId2, bool bTwoColors = false) ; EXE_EXPORT bool ExeSurfTmIntersect( int nId1, int nId2, bool bTwoColors = false) ; -EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ; EXE_EXPORT int ExeSurfTmSplit( int nId, int nSplitterId, int* pnCount) ; EXE_EXPORT bool ExeSurfTmCut( int nId, int nCutterId, bool bInVsOut, bool bSaveOnEq) ; EXE_EXPORT bool ExeSurfTmSubtractProjectedFacesOnFace( int nSurfId, int nFaceInd, int nDestGrpId, INTVECTOR vSurfsId, bool bOCFlag, bool& bExistProjection, int& nNewId, int& nNewFaceNbr) ; +EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ; +EXE_EXPORT bool ExeSurfTmSetShowEdges( int nId, bool bShow) ; EXE_EXPORT bool ExeSurfBzTrim( int nId, int nCutterId) ; // GeomDb Volume Modify EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ; EXE_EXPORT bool ExeVolZmapChangeResolution( int nId, int nNewRes) ; +EXE_EXPORT bool ExeVolZmapSetShowEdges( int nId, bool bShow) ; EXE_EXPORT bool ExeRemoveVolZmapPart( int nId, int nPart) ; EXE_EXPORT bool ExeVolZmapSetStdTool( const INTVECTOR& vIds, const std::string& sToolName, double dLen, double dDiam, double dCornR, double dCutterH, int nFlag, bool bFirst) ; From 5424ebcfd1ddc2ddfb544a1b9dd4b5bccfc54019 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 13 Mar 2024 09:27:48 +0100 Subject: [PATCH 2/5] Include : - aggiornamento prototipi. --- EInAPI.h | 4 ++++ EXeExecutor.h | 1 + 2 files changed, 5 insertions(+) diff --git a/EInAPI.h b/EInAPI.h index 3476840..8621028 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -529,6 +529,8 @@ EIN_EXPORT BOOL __stdcall EgtSurfFrAdd( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtSurfFrSubtract( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtSurfFrIntersect( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtSurfFrOffset( int nId, double dDist, int nType) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmMoveVertex( int nId, int nVert, const double ptNewVert[3], int nRefType, BOOL bUpdate) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmMoveFacet( int nId, int nFacet, const double vtMove[3], int nRefType, BOOL bUpdate) ; EIN_EXPORT int __stdcall EgtSurfTmToTriangles( int nId, int* pnCount) ; EIN_EXPORT BOOL __stdcall EgtSurfTmRemoveFacet( int nId, int nFacet) ; EIN_EXPORT BOOL __stdcall EgtCutSurfTmPlane( int nId, const double ptOn[3], const double vtN[3], BOOL bSaveOnEq, int nRefType) ; @@ -587,6 +589,8 @@ EIN_EXPORT int __stdcall EgtExtractSurfFrChunkLoops( int nId, int nChunk, int n EIN_EXPORT int __stdcall EgtSurfTmPartCount( int nId) ; EIN_EXPORT int __stdcall EgtSurfTmFacetCount( int nId) ; EIN_EXPORT int __stdcall EgtSurfTmFacetFromTria( int nId, int nT) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmGetVertex( int nId, int nVert, int nRefId, double ptVert[3]) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmGetNearestVertex( int nId, const double ptNear[3], int nRefId, int* pnVert, double ptVert[3]) ; EIN_EXPORT BOOL __stdcall EgtSurfTmFacetNearestEndPoint( int nId, int nFacet, const double ptNear[3], int nRefId, double ptEnd[3], double vtNorm[3]) ; EIN_EXPORT BOOL __stdcall EgtSurfTmFacetNearestMidPoint( int nId, int nFacet, const double ptNear[3], int nRefId, diff --git a/EXeExecutor.h b/EXeExecutor.h index fd6e42e..0fd602d 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -611,6 +611,7 @@ EXE_EXPORT bool ExeSurfFrOffsetAdv( int nId, double dDist, int nType, int& nNewI EXE_EXPORT bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) ; EXE_EXPORT bool ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, double& dAngDeg, int nRefType) ; EXE_EXPORT bool ExeSurfTmMoveVertex( int nId, int nVert, const Point3d& ptNewVert, int nRefType, bool bUpdate) ; +EXE_EXPORT bool ExeSurfTmMoveFacet( int nId, int nFacet, const Vector3d& vtMove, int nRefType, bool bUpdate) ; EXE_EXPORT int ExeSurfTmToTriangles( int nId, int* pnCount) ; EXE_EXPORT bool ExeSurfTmRemoveFacet( int nId, int nFacet) ; EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ; From b6947be9711e32daed38dcd13e67954c02a59efb Mon Sep 17 00:00:00 2001 From: SaraP Date: Thu, 14 Mar 2024 10:29:44 +0100 Subject: [PATCH 3/5] Include : - aggiornamento costanti per geometrie di lavorazione. --- EMkMachiningGeoConst.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/EMkMachiningGeoConst.h b/EMkMachiningGeoConst.h index 8fa2f8b..c8f42b1 100644 --- a/EMkMachiningGeoConst.h +++ b/EMkMachiningGeoConst.h @@ -35,7 +35,7 @@ static std::string MCH_ST = "ST" ; static std::string MCH_CL = "CL" ; static std::string MCH_DBL = "DBL" ; static std::string MCH_PATH = "P" ; -// Nomi di entità CL speciali +// Nomi di entità CL speciali static std::string MCH_CL_CLIMB = "CLIMB" ; static std::string MCH_CL_RISE = "RISE" ; static std::string MCH_CL_HOME = "HOME" ; @@ -45,7 +45,7 @@ static std::string MCH_CL_AGB_DWN = "AGBD" ; static std::string MCH_CL_AGB_IN = "AGBI" ; static std::string MCH_CL_AGB_OUT = "AGBO" ; static std::string MCH_CL_AGB_UP = "AGBU" ; -// Nomi di entità di preview +// Nomi di entità di preview static std::string MCH_PV_CUT = "CUT" ; static std::string MCH_PV_PRE_CUT = "PRC" ; static std::string MCH_PV_POST_CUT = "POC" ; @@ -60,6 +60,8 @@ static std::string MCH_PV_DOWN_RCUT = "DRCUT" ; static std::string MCH_PV_DOWN_RRCUT = "DRRCUT" ; static std::string MCH_PV_DOWN_RLICUT = "DRLICUT" ; static std::string MCH_PV_DOWN_RLOCUT = "DRLOCUT" ; +static std::string MCH_PV_UP_RAWCUT = "RUPCUT" ; +static std::string MCH_PV_DOWN_RAWCUT = "RDWNCUT" ; // Chiave info con WidthT, DeltaTi, DeltaT, ExtraCut e RawBottomHeight lama in Preview static std::string MCH_PV_KEY_WT = "WT" ; static std::string MCH_PV_KEY_DTI = "DTI" ; @@ -68,10 +70,10 @@ static std::string MCH_PV_KEY_EC = "EC" ; static std::string MCH_PV_KEY_RBH = "RBH" ; // Chiave info per rinvio a preview spostato nel pezzo in Preview static std::string MCH_PV_KEY_RELOCATE = "PvId" ; -// Chiave info per angoli in XY con entità successiva e precedente +// Chiave info per angoli in XY con entità successiva e precedente static std::string MCH_KEY_NEXTANG = "NextAng" ; static std::string MCH_KEY_PREVANG = "PrevAng" ; -// Chiave info per direzione libera in XY all'inizio e alla fine dell'entità (in assenza infinito) +// Chiave info per direzione libera in XY all'inizio e alla fine dell'entità (in assenza infinito) static std::string MCH_KEY_START_FREELEN = "SFL" ; static std::string MCH_KEY_END_FREELEN = "EFL" ; // Angolo esterno minimo per calcolare la direzione libera sull'arco From 5870d60433e92dc9d47874bcc85af9637057b1d8 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 14 Mar 2024 20:04:15 +0100 Subject: [PATCH 4/5] Include : - aggiornamento prototipi. --- EGkExtDimension.h | 7 +++++-- EInAPI.h | 9 +++++++++ EXeExecutor.h | 5 ++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/EGkExtDimension.h b/EGkExtDimension.h index ad331aa..3980439 100644 --- a/EGkExtDimension.h +++ b/EGkExtDimension.h @@ -36,8 +36,11 @@ class __declspec( novtable) IExtDimension : public IGeoObj const Vector3d& vtN, const std::string& sText) = 0 ; virtual bool SetDiametral( const Point3d& ptCen, const Point3d& ptPos, const Vector3d& vtN, const std::string& sText) = 0 ; - virtual bool SetAngular( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptV, const Point3d& ptPos, - const Vector3d& vtN, const std::string& sText ) = 0 ; + virtual bool SetAngular( const Point3d& ptV, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptPos, + const Vector3d& vtN, const std::string& sText) = 0 ; + virtual bool SetAngularEx( const Point3d& ptV1, const Point3d& ptP1, + const Point3d& ptV2, const Point3d& ptP2, const Point3d& ptPos, + const Vector3d& vtN, const std::string& sText) = 0 ; virtual const Vector3d& GetNormVersor( void) const = 0 ; virtual const Vector3d& GetDirVersor( void) const = 0 ; virtual const std::string& GetText( void) const = 0 ; diff --git a/EInAPI.h b/EInAPI.h index 8621028..107f1bd 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -211,6 +211,15 @@ EIN_EXPORT int __stdcall EgtCreateVerticalDimension( int nParentId, const doubl const double ptDim[3], const wchar_t* wsText, int nRefType) ; EIN_EXPORT int __stdcall EgtCreateAlignedDimension( int nParentId, const double ptP1[3], const double ptP2[3], const double ptDim[3], const wchar_t* wsText, int nRefType) ; +EIN_EXPORT int __stdcall EgtCreateAngularDimension( int nParentId, const double ptV[3], const double ptP1[3], const double ptP2[3], + const double ptDim[3], const wchar_t* wsText, int nRefType) ; +EIN_EXPORT int __stdcall EgtCreateAngularDimensionEx( int nParentId, const double ptV1[3], const double ptP1[3], + const double ptV2[3], const double ptP2[3], const double ptDim[3], + const wchar_t* wsText, int nRefType) ; +EIN_EXPORT int __stdcall EgtCreateDiametralDimension( int nParentId, int nCrvId, const double ptDim[3], + const wchar_t* wsText, int nRefType) ; +EIN_EXPORT int __stdcall EgtCreateRadialDimension( int nParentId, int nCrvId, const double ptDim[3], + const wchar_t* wsText, int nRefType) ; // GeomDB Create Curve EIN_EXPORT int __stdcall EgtCreateLine( int nParentId, diff --git a/EXeExecutor.h b/EXeExecutor.h index 0fd602d..7ace0e8 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -233,8 +233,11 @@ EXE_EXPORT int ExeCreateAlignedDimension( int nParentId, const Point3d& ptP1, c const Point3d& ptDim, const std::string& sText, int nRefType) ; EXE_EXPORT int ExeCreateRadialDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ; EXE_EXPORT int ExeCreateDiametralDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ; -EXE_EXPORT int ExeCreateAngularDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP0, const Point3d& ptP2, +EXE_EXPORT int ExeCreateAngularDimension( int nParentId, const Point3d& ptV, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptDim, const std::string& sText, int nRefType) ; +EXE_EXPORT int ExeCreateAngularDimensionEx( int nParentId, const Point3d& ptV1, const Point3d& ptP1, + const Point3d& ptV2, const Point3d& ptP2, const Point3d& ptDim, + const std::string& sText, int nRefType) ; EXE_EXPORT int ExeCreateAngularDimensionFromLines( int nParentId, const INTVECTOR vLineIds, const Point3d& ptDim, const std::string& sText, int nRefType) ; EXE_EXPORT int ExeCreateAngularDimensionFromArc( int nParentId, int nCrvId, const Point3d& ptDim, From cc2290fddea031cc4f0283cfd6653e50bee357dd Mon Sep 17 00:00:00 2001 From: SaraP Date: Fri, 15 Mar 2024 16:04:03 +0100 Subject: [PATCH 5/5] Include : - aggiunti prototipi per Voronoi. --- EGkCurveAux.h | 4 ++++ EGkSurfFlatRegion.h | 1 + 2 files changed, 5 insertions(+) diff --git a/EGkCurveAux.h b/EGkCurveAux.h index 05221eb..4ece83e 100644 --- a/EGkCurveAux.h +++ b/EGkCurveAux.h @@ -94,3 +94,7 @@ EGK_EXPORT bool CalcCurveMedialAxis( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, //---------------------------------------------------------------------------- //! Calcola l'offset completo di una curva EGK_EXPORT bool CalcCurveFatCurve( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, double dRadius, bool bSquareEnds, bool bSquareMids) ; + +//---------------------------------------------------------------------------- +//! Resetta l'oggetto voronoi associato alla curva liberandone la memoria +EGK_EXPORT void ResetCurveVoronoi( const ICurve& crvC) ; \ No newline at end of file diff --git a/EGkSurfFlatRegion.h b/EGkSurfFlatRegion.h index d975ded..b076359 100644 --- a/EGkSurfFlatRegion.h +++ b/EGkSurfFlatRegion.h @@ -51,6 +51,7 @@ class __declspec( novtable) ISurfFlatRegion : public ISurf virtual int GetChunkSimpleClassification( int nChunk, const ISurfFlatRegion& Other, int nOthChunk) const ; // compare only outsides virtual bool CalcVoronoiDiagram( ICURVEPOVECTOR& vCrvs, int nBound = 3) const = 0 ; virtual bool CalcMedialAxis( ICURVEPOVECTOR& vCrvs, int nSide = 1) const = 0 ; + virtual void ResetVoronoiObject( void) const = 0 ; } ; //-----------------------------------------------------------------------------