//---------------------------------------------------------------------------- // EgalTech 2020-2020 //---------------------------------------------------------------------------- // File : CDeSpheTria.cpp Data : 09.01.20 Versione : 2.2a2 // Contenuto : Implementazione della verifica di collisione tra // Sphere e Triangle3d. // // // Modifiche :09.01.20 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "CDeSpheTria.h" #include "/EgtDev/Include/EGkDistPointTria.h" using namespace std ; //---------------------------------------------------------------------------- bool CDeSimpleSpheTria( const Point3d& ptCen, double dR, const Triangle3d& trTria) { // Determino la minima distanza tra centro della sfera e triangolo double dSqDist ; if ( ! DistPointTriangle( ptCen, trTria).GetSqDist( dSqDist)) return false ; return ( dSqDist < dR * dR) ; } //---------------------------------------------------------------------------- bool CDeSpheTria( const Point3d& ptCen, double dR, const Triangle3d& trTria, double dSafeDist) { return CDeSimpleSpheTria( ptCen, dR + max( 0., dSafeDist), trTria) ; }