//---------------------------------------------------------------------------- // EgalTech 2023-2023 //---------------------------------------------------------------------------- // File : EGkProjectCurveSurfTm.h Data : 31.08.23 Versione : 2.5h3 // Contenuto : Dichiarazione funzioni proiezione curve su superficie Trimesh. // // // // Modifiche : 31.08.23 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkCurve.h" #include "/EgtDev/Include/EGkSurfTriMesh.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 //---------------------------------------------------------------------------- // Definizione di Punto 5assi e sue raccolte struct Point5ax { Point3d ptP ; Vector3d vtDir ; double dPar ; int nFlag ; Point5ax( void) : ptP(), vtDir(), dPar(), nFlag() {} ; Point5ax( const Point3d& ptBase, const Vector3d& vtTool, double dU, int nData) : ptP( ptBase), vtDir( vtTool), dPar( dU), nFlag( nData) {} ; } ; typedef std::vector PNT5AXVECTOR ; // vettore di Punti 5assi //---------------------------------------------------------------------------- // Proiezione di una curva su una superficie TriMesh lungo la direzione data. EGK_EXPORT bool ProjectCurveOnSurfTm( const ICurve& crCrv, const ISurfTriMesh& tmSurf, const Vector3d& vtDir, double dLinTol, PNT5AXVECTOR& vPt5ax) ;