be18f4ceab
- aggiornati prototipi.
40 lines
2.0 KiB
C
40 lines
2.0 KiB
C
//----------------------------------------------------------------------------
|
|
// EgalTech 2020-2024
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkCDeConeFrustumClosedSurfTm.h Data : 24.03.24 Versione : 2.6c2
|
|
// Contenuto : Dichiarazione funzione verifica collisione tra
|
|
// Cone e Closed SurfTriMesh.
|
|
//
|
|
// Modifiche : 09.11.20 LM Creazione modulo.
|
|
// 24.03.24 DS Aggiunta TestConeFrustumSurfTm.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#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 sistema di riferimento deve avere l'asse di simmetria del cono come asse Z e origine nel centro della base.
|
|
// La distanza di sicurezza ha effetto solo se maggiore di EPS_SMALL.
|
|
// Il sistema di riferimento del cono è riferito a quello della superficie.
|
|
// La funzione restituisce :
|
|
// - true in caso di collisione o inconsistenza dei parametri di input
|
|
// - false in caso di assenza di collisione.
|
|
EGK_EXPORT bool CDeConeFrustumClosedSurfTm( const Frame3d& frCone, double dBaseRad, double dTopRad, double dHeight,
|
|
const ISurfTriMesh& Stm, double dSafeDist) ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Verifica l'interferenza tra il tronco di cono e la superficie : restituisce true in caso di interferenza.
|
|
//----------------------------------------------------------------------------
|
|
EGK_EXPORT bool TestConeFrustumSurfTm( const Frame3d& frCone, double dBaseRad, double dTopRad, double dHeight,
|
|
const ISurfTriMesh& Stm, double dSafeDist) ;
|