//---------------------------------------------------------------------------- // EgalTech 2015-2019 //---------------------------------------------------------------------------- // File : EGkOffsetCurve.h Data : 24.06.19 Versione : 2.1f2 // Contenuto : Dichiarazione classe per offset di ICurve. // // // Modifiche : 23.09.15 DS Creazione modulo. // 24.06.19 DS Agg. GetShorterCurve. // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkCurve.h" //----------------------- Macro per import/export ---------------------------- #undef EGK_EXPORT #if defined( I_AM_EGK) // da definirsi solo nella DLL #define EGK_EXPORT __declspec( dllexport) #else #define EGK_EXPORT __declspec( dllimport) #endif //---------------------------------------------------------------------------- class OffsetCurve { public : EGK_EXPORT OffsetCurve(): m_dLinTol( 10 * EPS_SMALL) {} ; EGK_EXPORT OffsetCurve( double dLinTol) : m_dLinTol( dLinTol) {} ; EGK_EXPORT ~OffsetCurve( void) ; public : EGK_EXPORT bool Reset( void) ; EGK_EXPORT bool Make( const ICurve* pCrv, double dDist, int nType) ; EGK_EXPORT int GetCurveCount( void) { return int( m_CrvLst.size()) ; } EGK_EXPORT ICurve* GetCurve( void) ; EGK_EXPORT ICurve* GetLongerCurve( void) ; EGK_EXPORT ICurve* GetShorterCurve( void) ; EGK_EXPORT double GetLinTol( void) const { return m_dLinTol ; } EGK_EXPORT void SetLinTol( double dTol) { m_dLinTol = dTol ; } private : ICURVEPLIST m_CrvLst ; double m_dLinTol ; } ;