Files
EgtGeomKernel/CDeSpheTria.cpp
T
Dario Sassi ddade325c4 EgtGeomKernel 2.6b3 :
- standardizzate le funzione Collision Detection sia per trimesh sia per Zmap (ex Avoid...)
- nelle funzioni Cde ora se arrivano geometrie errate si ritorna collisione (maggior sicurezza).
2024-02-16 08:43:15 +01:00

38 lines
1.3 KiB
C++

//----------------------------------------------------------------------------
// 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) ;
}