be18f4ceab
- aggiornati prototipi.
43 lines
2.3 KiB
C
43 lines
2.3 KiB
C
//----------------------------------------------------------------------------
|
|
// EgalTech 2020-2024
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkCDeRectPrismoidClosedSurfTm.h Data : 24.03.24 Versione : 2.6c2
|
|
// Contenuto : Dichiarazione funzione verifica collisione tra
|
|
// prismoide a basi rettangolari e Closed SurfTriMesh.
|
|
//
|
|
// Modifiche : 09.11.20 LM Creazione modulo.
|
|
// 24.03.24 DS Aggiunta TestRectPrismoidSurfTm.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#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'origine nel centro della Base, asse X lungo
|
|
// un segmento della stessa e asse Z ortogonale alle basi e diretto verso la base Top.
|
|
// Il sistema di riferimento della piramide deve essere immerso in 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 CDeRectPrismoidClosedSurfTm( const Frame3d& frPrismoid, double dLenghtBaseX, double dLenghtBaseY,
|
|
double dLenghtTopX, double dLenghtTopY, double dHeight,
|
|
const ISurfTriMesh& Stm, double dSafeDist) ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Verifica l'interferenza tra il Prismoide a basi rettangolari e la superficie : restituisce true in caso di interferenza.
|
|
//----------------------------------------------------------------------------
|
|
EGK_EXPORT bool TestRectPrismoidSurfTm( const Frame3d& frPrismoid, double dLenghtBaseX, double dLenghtBaseY,
|
|
double dLenghtTopX, double dLenghtTopY, double dHeight,
|
|
const ISurfTriMesh& Stm, double dSafeDist) ;
|