From be18f4ceab7e34dbab8a7ad122185565a5ce8b1d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 25 Mar 2024 09:06:25 +0100 Subject: [PATCH] Include : - aggiornati prototipi. --- EGkCDeBoxClosedSurfTm.h | 10 ++++++++-- EGkCDeClosedSurfTmClosedSurfTm.h | 9 +++++++-- EGkCDeConeFrustumClosedSurfTm.h | 12 +++++++++--- EGkCDeConvexTorusClosedSurfTm.h | 12 +++++++++--- EGkCDeCylClosedSurfTm.h | 11 ++++++++--- EGkCDeRectPrismoidClosedSurfTm.h | 15 +++++++++++---- EGkCDeSpheClosedSurfTm.h | 11 ++++++++--- EXeExecutor.h | 10 ++++++++++ 8 files changed, 70 insertions(+), 20 deletions(-) diff --git a/EGkCDeBoxClosedSurfTm.h b/EGkCDeBoxClosedSurfTm.h index 733bd01..dfff3f1 100644 --- a/EGkCDeBoxClosedSurfTm.h +++ b/EGkCDeBoxClosedSurfTm.h @@ -1,12 +1,13 @@ //---------------------------------------------------------------------------- -// EgalTech 2016-2020 +// EgalTech 2016-2024 //---------------------------------------------------------------------------- -// File : EGkCDeBoxClosedSurfTm.h Data : 09.01.20 Versione : 2.2a2 +// File : EGkCDeBoxClosedSurfTm.h Data : 24.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione funzione verifica collisione tra // BoundingBox e Closed SurfTriMesh. // // Modifiche : 05.10.16 DS Creazione modulo. // 09.01.20 DS Cambio nome alla funzione e cambio parametri. +// 24.03.24 DS Aggiunta TestBoxSurfTm. // //---------------------------------------------------------------------------- @@ -32,3 +33,8 @@ // - false in caso di assenza di collisione. //---------------------------------------------------------------------------- EGK_EXPORT bool CDeBoxClosedSurfTm( const Frame3d& frBox, const Vector3d& vtDiag, const ISurfTriMesh& Stm, double dSafeDist) ; + +//---------------------------------------------------------------------------- +// Verifica l'interferenza tra il box e la superficie : restituisce true in caso di interferenza. +//---------------------------------------------------------------------------- +EGK_EXPORT bool TestBoxSurfTm( const Frame3d& frBox, const Vector3d& vtDiag, const ISurfTriMesh& Stm, double dSafeDist) ; diff --git a/EGkCDeClosedSurfTmClosedSurfTm.h b/EGkCDeClosedSurfTmClosedSurfTm.h index 142bdec..a7e6e0c 100644 --- a/EGkCDeClosedSurfTmClosedSurfTm.h +++ b/EGkCDeClosedSurfTmClosedSurfTm.h @@ -1,12 +1,12 @@ //---------------------------------------------------------------------------- // EgalTech 2020-2024 //---------------------------------------------------------------------------- -// File : EGkCDeClosedSurfTmClosedSurfTm.h Data : 15.02.24 Versione : 2.6b2 +// File : EGkCDeClosedSurfTmClosedSurfTm.h Data : 24.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione funzione verifica collisione tra // SurfTm e SurfTm. // // Modifiche : 13.11.20 LM Creazione modulo. -// +// 24.03.24 DS Aggiunta TestSurfTmSurfTm. // //---------------------------------------------------------------------------- @@ -30,3 +30,8 @@ // - false in caso di assenza di collisione. //---------------------------------------------------------------------------- EGK_EXPORT bool CDeClosedSurfTmClosedSurfTm( const ISurfTriMesh& SurfA, const ISurfTriMesh& SurfB, double dSafeDist) ; + +//---------------------------------------------------------------------------- +// Verifica l'interferenza tra le due superfici : restituisce true in caso di interferenza. +//---------------------------------------------------------------------------- +EGK_EXPORT bool TestSurfTmSurfTm( const ISurfTriMesh& SurfA, const ISurfTriMesh& SurfB, double dSafeDist) ; diff --git a/EGkCDeConeFrustumClosedSurfTm.h b/EGkCDeConeFrustumClosedSurfTm.h index 1e8666f..78ee765 100644 --- a/EGkCDeConeFrustumClosedSurfTm.h +++ b/EGkCDeConeFrustumClosedSurfTm.h @@ -1,12 +1,12 @@ //---------------------------------------------------------------------------- // EgalTech 2020-2024 //---------------------------------------------------------------------------- -// File : EGkCDeConeFrustumClosedSurfTm.h Data : 15.02.24 Versione : 2.6b2 +// 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. // //---------------------------------------------------------------------------- @@ -30,4 +30,10 @@ // - 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) ; \ No newline at end of file + 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) ; diff --git a/EGkCDeConvexTorusClosedSurfTm.h b/EGkCDeConvexTorusClosedSurfTm.h index 764bd21..a461efe 100644 --- a/EGkCDeConvexTorusClosedSurfTm.h +++ b/EGkCDeConvexTorusClosedSurfTm.h @@ -1,12 +1,12 @@ //---------------------------------------------------------------------------- -// EgalTech 2020-2020 +// EgalTech 2020-2024 //---------------------------------------------------------------------------- -// File : EGkCDeConvexTorusTria.h Data : 18.11.20 Versione : +// File : EGkCDeConvexTorusTria.h Data : 24.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione funzione verifica collisione tra // toro convesso e SurfTriMesh. // // Modifiche : 18.11.20 LM Creazione modulo. -// +// 24.03.24 DS Aggiunta TestConvexTorusSurfTm. // //---------------------------------------------------------------------------- @@ -33,3 +33,9 @@ //---------------------------------------------------------------------------- EGK_EXPORT bool CDeConvexTorusClosedSurfTm( const Frame3d& frTorus, double dRad1, double dRad2, const ISurfTriMesh& tmSurf, double dSafeDist) ; + +//---------------------------------------------------------------------------- +// Verifica l'interferenza tra il toro convesso e la superficie : restituisce true in caso di interferenza +//---------------------------------------------------------------------------- +EGK_EXPORT bool TestConvexTorusSurfTm( const Frame3d& frTorus, double dRad1, double dRad2, + const ISurfTriMesh& Stm, double dSafeDist) ; diff --git a/EGkCDeCylClosedSurfTm.h b/EGkCDeCylClosedSurfTm.h index 4fd6fc4..93ad473 100644 --- a/EGkCDeCylClosedSurfTm.h +++ b/EGkCDeCylClosedSurfTm.h @@ -1,12 +1,12 @@ //---------------------------------------------------------------------------- -// EgalTech 2020-2020 +// EgalTech 2020-2024 //---------------------------------------------------------------------------- -// File : EGkCDeCylClosedSurfTm.h Data : 09.01.20 Versione : 2.2a2 +// File : EGkCDeCylClosedSurfTm.h Data : 24.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione funzione verifica collisione tra // Cylinder e Closed SurfTriMesh. // // Modifiche : 09.01.20 DS Creazione modulo. -// +// 24.03.24 DS Aggiunta TestCylSurfTm. // //---------------------------------------------------------------------------- @@ -31,3 +31,8 @@ // - false in caso di assenza di collisione. //---------------------------------------------------------------------------- EGK_EXPORT bool CDeCylClosedSurfTm( const Frame3d& frCyl, double dR, double dH, const ISurfTriMesh& Stm, double dSafeDist) ; + +//---------------------------------------------------------------------------- +// Verifica l'interferenza tra il cilindro e la superficie : restituisce true in caso di interferenza. +//---------------------------------------------------------------------------- +EGK_EXPORT bool TestCylSurfTm( const Frame3d& frCyl, double dR, double dH, const ISurfTriMesh& Stm, double dSafeDist) ; diff --git a/EGkCDeRectPrismoidClosedSurfTm.h b/EGkCDeRectPrismoidClosedSurfTm.h index 4514a25..aa2e405 100644 --- a/EGkCDeRectPrismoidClosedSurfTm.h +++ b/EGkCDeRectPrismoidClosedSurfTm.h @@ -1,12 +1,12 @@ //---------------------------------------------------------------------------- -// EgalTech 2020-2020 +// EgalTech 2020-2024 //---------------------------------------------------------------------------- -// File : EGkCDeRectPrismoidClosedSurfTm.h Data : 09.11.20 Versione : +// 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. // //---------------------------------------------------------------------------- @@ -32,4 +32,11 @@ //---------------------------------------------------------------------------- EGK_EXPORT bool CDeRectPrismoidClosedSurfTm( const Frame3d& frPrismoid, double dLenghtBaseX, double dLenghtBaseY, double dLenghtTopX, double dLenghtTopY, double dHeight, - const ISurfTriMesh& Stm, double dSafeDist) ; \ No newline at end of file + 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) ; diff --git a/EGkCDeSpheClosedSurfTm.h b/EGkCDeSpheClosedSurfTm.h index 5565721..5cb5980 100644 --- a/EGkCDeSpheClosedSurfTm.h +++ b/EGkCDeSpheClosedSurfTm.h @@ -1,12 +1,12 @@ //---------------------------------------------------------------------------- -// EgalTech 2020-2020 +// EgalTech 2020-2024 //---------------------------------------------------------------------------- -// File : EGkCDeSpheClosedSurfTm.h Data : 09.01.20 Versione : 2.2a2 +// File : EGkCDeSpheClosedSurfTm.h Data : 24.03.24 Versione : 2.6c2 // Contenuto : Dichiarazione funzione verifica collisione tra // Sphere e Closed SurfTriMesh. // // Modifiche : 09.01.20 DS Creazione modulo. -// +// 24.03.24 DS Aggiunta TestSpheSurfTm. // //---------------------------------------------------------------------------- @@ -28,3 +28,8 @@ // - false in caso di assenza di collisione. //---------------------------------------------------------------------------- EGK_EXPORT bool CDeSpheClosedSurfTm( const Point3d& ptCen, double dR, const ISurfTriMesh& Stm, double dSafeDist) ; + +//---------------------------------------------------------------------------- +// Verifica l'interferenza tra la sfera e la superficie : restituisce true in caso di interferenza +//---------------------------------------------------------------------------- +EGK_EXPORT bool TestSpheSurfTm( const Point3d& ptCen, double dR, const ISurfTriMesh& Stm, double dSafeDist) ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 7ace0e8..dda8f53 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -844,6 +844,16 @@ EXE_EXPORT int ExeCDeConeSolid( const Frame3d& frCone, double dR1, double dR2, EXE_EXPORT int ExeCDeSpheSolid( const Point3d& ptCen, double dR, int nSolidId, double dSafeDist, int nRefType) ; EXE_EXPORT int ExeCDeSolidSolid( int nSolid1Id, int nSolid2Id, double dSafeDist) ; +// Test Interference +EXE_EXPORT int ExeTestBoxSurface( const Frame3d& frBox, const Vector3d& vtDiag, int nSurfId, double dSafeDist, int nRefType) ; +EXE_EXPORT int ExeTestRectPrismoidSurface( const Frame3d& frPrismoid, double dBaseLenX, double dBaseLenY, + double dTopLenX, double dTopLenY, double dHeight, + int nSurfId, double dSafeDist, int nRefType) ; +EXE_EXPORT int ExeTestCylSurface( const Frame3d& frCyl, double dR, double dH, int nSurfId, double dSafeDist, int nRefType) ; +EXE_EXPORT int ExeTestConeSurface( const Frame3d& frCone, double dR1, double dR2, double dH, int nSurfId, double dSafeDist, int nRefType) ; +EXE_EXPORT int ExeTestSpheSurface( const Point3d& ptCen, double dR, int nSurfId, double dSafeDist, int nRefType) ; +EXE_EXPORT int ExeTestSurfaceSurface( int nSurf1Id, int nSurf2Id, double dSafeDist) ; + // Maximum Filler EXE_EXPORT bool ExeMaxFillerStart( void) ; EXE_EXPORT bool ExeMaxFillerAddPart( int nPartId, double dLen) ;