diff --git a/EGkArcSpecial.h b/EGkArcSpecial.h index 2f9237e..941388a 100644 --- a/EGkArcSpecial.h +++ b/EGkArcSpecial.h @@ -1,13 +1,14 @@ //---------------------------------------------------------------------------- -// EgalTech 2014-2022 +// EgalTech 2014-2023 //---------------------------------------------------------------------------- -// File : EGkArcSpecial.h Data : 20.12.22 Versione : 2.4l3 +// File : EGkArcSpecial.h Data : 04.08.23 Versione : 2.5h1 // Contenuto : Dichiarazione funzioni per calcolo speciale archi. // // // // Modifiche : 12.06.14 DS Creazione modulo. // 20.12.22 DS Aggiunta GetArc2PCN. +// 04.08.23 DS Aggiunta GetArc2PNB. // //---------------------------------------------------------------------------- @@ -27,5 +28,6 @@ //---------------------------------------------------------------------------- EGK_EXPORT ICurve* GetArc2PD( const Point3d& ptStart, const Point3d& ptEnd, double dDirStartDeg) ; EGK_EXPORT ICurve* GetArc2PVN( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtDirS, const Vector3d& vtN) ; +EGK_EXPORT ICurve* GetArc2PNB( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtN, double dBulge) ; EGK_EXPORT ICurve* GetArc3P( const Point3d& ptStart, const Point3d& ptOther, const Point3d& ptEnd, bool bCirc) ; EGK_EXPORT ICurveArc* GetArc2PCN( const Point3d& ptStart, const Point3d& ptEnd, const Point3d& ptNearCen, const Vector3d& vtN) ; diff --git a/EGkCurveLine.h b/EGkCurveLine.h index 8ab95f0..380c10a 100644 --- a/EGkCurveLine.h +++ b/EGkCurveLine.h @@ -45,3 +45,10 @@ inline ICurveLine* GetCurveLine( IGeoObj* pGObj) { if ( pGObj == nullptr || pGObj->GetType() != CRV_LINE) return nullptr ; return (static_cast(pGObj)) ; } + +//---------------------------------------------------------------------------- +// Raccolte di puntatori a ICurveLine +typedef std::vector CICRVLINEVECTOR ; // vettore di puntatori a const ICurveLine +typedef std::vector ICRVLINEPVECTOR ; // vettore di puntatori a ICurveLine +typedef std::list ICRVLINEPLIST ; // lista di puntatori a ICurveLine +typedef std::vector> ICRVLINEPOVECTOR ; // vettore di puntatori esclusivi a ICurveLine diff --git a/EGkPoint3d.h b/EGkPoint3d.h index 3d23f4c..eb82b46 100644 --- a/EGkPoint3d.h +++ b/EGkPoint3d.h @@ -1,12 +1,13 @@ //---------------------------------------------------------------------------- -// EgalTech 2013-2022 +// EgalTech 2013-2023 //---------------------------------------------------------------------------- -// File : EGkPoint3d.h Data : 22.08.224 Versione : 2.4h2 +// File : EGkPoint3d.h Data : 23.08.23 Versione : 2.5h2 // Contenuto : Dichiarazione della classe Punto 3d. // // // // Modifiche : 30.12.12 DS Creazione modulo. +// 23.08.23 DS Aggiunto P_INVALID. // // //---------------------------------------------------------------------------- @@ -99,6 +100,8 @@ class EGK_EXPORT Point3d //---------------------------------------------------------------------------- // Punti notevoli //---------------------------------------------------------------------------- +//! Punto non valido +const Point3d P_INVALID( NAN, NAN, NAN) ; //! Punto origine const Point3d ORIG( 0, 0, 0) ; diff --git a/EGkVector3d.h b/EGkVector3d.h index a4f0f69..2dc1764 100644 --- a/EGkVector3d.h +++ b/EGkVector3d.h @@ -1,13 +1,14 @@ //---------------------------------------------------------------------------- -// EgalTech 2013-2022 +// EgalTech 2013-2023 //---------------------------------------------------------------------------- -// File : EGkVector3d.h Data : 27.08.22 Versione : 2.4h2 +// File : EGkVector3d.h Data : 23.08.23 Versione : 2.5h2 // Contenuto : Dichiarazione della classe Vettore 3d. // // // // Modifiche : 31.12.13 DS Creazione modulo. // 14.12.19 DS Aggiunti confronti con Epsilon. +// 23.08.23 DS Aggiunto V_INVALID. // //---------------------------------------------------------------------------- @@ -170,6 +171,8 @@ class EGK_EXPORT Vector3d //---------------------------------------------------------------------------- // Vettori notevoli //---------------------------------------------------------------------------- +//! Vettore non valido +const Vector3d V_INVALID( NAN, NAN, NAN) ; //! Vettore nullo const Vector3d V_NULL( 0, 0, 0) ; //! Versore asse X diff --git a/EInAPI.h b/EInAPI.h index 10b24fb..a8a0b25 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -716,6 +716,7 @@ EIN_EXPORT int __stdcall EgtGetLastMachGroup( void) ; EIN_EXPORT int __stdcall EgtGetPrevMachGroup( int nId) ; EIN_EXPORT BOOL __stdcall EgtGetMachGroupNewName( const wchar_t* wsName, wchar_t*& wsNewName) ; EIN_EXPORT int __stdcall EgtAddMachGroup( const wchar_t* wsName, const wchar_t* wsMachineName) ; +EIN_EXPORT int __stdcall EgtCopyMachGroup( const wchar_t* wsSouName, const wchar_t* wsName) ; EIN_EXPORT BOOL __stdcall EgtRemoveMachGroup( int nMGroupId) ; EIN_EXPORT BOOL __stdcall EgtGetMachGroupName( int nMGroupId, wchar_t*& wsName) ; EIN_EXPORT BOOL __stdcall EgtGetMachGroupMachineName( int nMGroupId, wchar_t*& wsMachineName) ; diff --git a/EMkMachMgr.h b/EMkMachMgr.h index aa95c54..a9c3de7 100644 --- a/EMkMachMgr.h +++ b/EMkMachMgr.h @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------- -// EgalTech 2015-2022 +// EgalTech 2015-2023 //---------------------------------------------------------------------------- -// File : EMkMachMgr.h Data : 21.09.22 Versione : 2.4i4 +// File : EMkMachMgr.h Data : 25.08.23 Versione : 2.5h3 // Contenuto : Dichiarazione della interfaccia IMachMgr. // // @@ -13,6 +13,7 @@ // 10.11.20 DS Portate in interfaccia funzioni di calcolo con vettori di angoli. // 13.01.21 DS Aggiunte in interfaccia GetCalcHead e GetCalcExit. // 21.09.22 DS Aggiunta in interfaccia GetAxisOffset. +// 25.08.23 DS Aggiunta in interfaccia CopyMachGroup. // //---------------------------------------------------------------------------- @@ -57,6 +58,7 @@ class __declspec( novtable) IMachMgr virtual int GetPrevMachGroup( int nId) const = 0 ; virtual bool GetMachGroupNewName( std::string& sName) const = 0 ; virtual int AddMachGroup( const std::string& sName, const std::string& sMachineName) = 0 ; + virtual int CopyMachGroup( const std::string& sSouName, const std::string& sName) = 0 ; virtual bool RemoveMachGroup( int nId) = 0 ; virtual std::string GetMachGroupName( int nId) const = 0 ; virtual std::string GetMachGroupMachineName( int nId) const = 0 ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 6e4fe61..5b3d748 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -267,6 +267,8 @@ EXE_EXPORT int ExeCreateArcC2PEx( int nParentId, const Point3d& ptCen, const Point3d& ptNearEnd, int nRefType) ; EXE_EXPORT int ExeCreateArc3P( int nParentId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, int nRefType) ; +EXE_EXPORT int ExeCreateArc2PB( int nParentId, const Point3d& ptStart, const Point3d& ptEnd, + double dBulge, int nRefType) ; EXE_EXPORT int ExeCreateArc2PD( int nParentId, const Point3d& ptStart, const Point3d& ptEnd, double dDirSDeg, int nRefType) ; EXE_EXPORT int ExeCreateArc2PDEx( int nParentId, const Point3d& ptStart, @@ -898,6 +900,7 @@ EXE_EXPORT int ExeGetLastMachGroup( void) ; EXE_EXPORT int ExeGetPrevMachGroup( int nId) ; EXE_EXPORT bool ExeGetMachGroupNewName( std::string& sName) ; EXE_EXPORT int ExeAddMachGroup( const std::string& sName, const std::string& sMachineName) ; +EXE_EXPORT int ExeCopyMachGroup( const std::string& sSouName, const std::string& sName) ; EXE_EXPORT bool ExeRemoveMachGroup( int nMGroupId) ; EXE_EXPORT bool ExeGetMachGroupName( int nId, std::string& sName) ; EXE_EXPORT bool ExeGetMachGroupMachineName( int nId, std::string& sMachineName) ; diff --git a/EgtNumUtils.h b/EgtNumUtils.h index 7b229d5..a43ed9f 100644 --- a/EgtNumUtils.h +++ b/EgtNumUtils.h @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------- -// EgalTech 2016-2018 +// EgalTech 2016-2023 //---------------------------------------------------------------------------- -// File : EgtNumUtils.h Data : 05.11.16 Versione : 1.6w1 +// File : EgtNumUtils.h Data : 16.08.23 Versione : 2.5h2 // Contenuto : Funzioni numeriche di base. // // @@ -17,14 +17,14 @@ inline int Clamp( int nVal, int nMin, int nMax) { - return ( nVal < nMin ? nMin : nMax < nVal ? nMax : nVal) ; + return ( nVal < nMin ? nMin : ( nVal > nMax ? nMax : nVal)) ; } //---------------------------------------------------------------------------- inline double Clamp( double dVal, double dMin, double dMax) { - return ( dVal < dMin ? dMin : dMax < dVal ? dMax : dVal) ; + return ( dVal < dMin ? dMin : ( dVal > dMax ? dMax : dVal)) ; } //----------------------------------------------------------------------------