//---------------------------------------------------------------------------- // EgalTech 2020-2020 //---------------------------------------------------------------------------- // File : EGkCDeConvexTorusTria.h Data : 10.11.20 Versione : // Contenuto : Dichiarazione funzione verifica collisione tra // toro convesso e Triangle3d. // // Modifiche : 10.11.20 LM Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkFrame3d.h" #include "/EgtDev/Include/EGkTriangle3d.h" //----------------------------------------------------------------------------- // Costanti di identificazione delle parti del toro convesso enum ConvexTorusType { CT_INF = -1, CT_SUP = 1, CT_TOT = 0} ; //---------------------------------------------------------------------------- // Il toro convesso è il disco 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. // Si può considerare la sola parte inferiore, quella superiore o tutto il toro. // La funzione restituisce true in caso di collisione. bool CDeSimpleConvexTorusTria( const Frame3d& frTorus, double dRad1, double dRad2, int nCtType, const Triangle3d& trTria) ; bool CDeConvexTorusTria( const Frame3d& frTorus, double dRad1, double dRad2, int nCtType, const Triangle3d& trTria, double dSafeDist) ;