//---------------------------------------------------------------------------- // EgalTech 2020-2024 //---------------------------------------------------------------------------- // File : EGkCDeConvexTorusTria.h Data : 24.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione funzione verifica collisione tra // toro convesso e SurfTriMesh. // // Modifiche : 18.11.20 LM Creazione modulo. // 24.03.24 DS Aggiunta TestConvexTorusSurfTm. // //---------------------------------------------------------------------------- #pragma once #include "EgtDev/Include/EGkFrame3d.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 //---------------------------------------------------------------------------- // Il toro convesso è il disco solido limitato dalla sola parte esterna del toro. // Raggio principale R1, raggio secondario R2. // Il toro è posto nel piano XY del suo riferimento, centrato sull'origine. // La funzione restituisce : // - true in caso di collisione o inconsistenza dei parametri di input // - false in caso di assenza di collisione. //---------------------------------------------------------------------------- EGK_EXPORT bool CDeConvexTorusClosedSurfTm( const Frame3d& frTorus, double dRad1, double dRad2, const ISurfTriMesh& tmSurf, double dSafeDist) ; //---------------------------------------------------------------------------- // Verifica l'interferenza tra il toro convesso e la superficie : restituisce true in caso di interferenza //---------------------------------------------------------------------------- EGK_EXPORT bool TestConvexTorusSurfTm( const Frame3d& frTorus, double dRad1, double dRad2, const ISurfTriMesh& Stm, double dSafeDist) ;