From 103ea771b40e3f8346a6fcd064f5c5a3b5792867 Mon Sep 17 00:00:00 2001 From: DarioS Date: Fri, 7 Jan 2022 10:04:05 +0100 Subject: [PATCH 1/2] Include : - aggiornamento prototipi - aggiunta costante MAX_EDGE_LEN_STD per triangolazioni di facce di SurfTriMesh. --- EGkSurfTriMesh.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/EGkSurfTriMesh.h b/EGkSurfTriMesh.h index adc74d1..4b00d99 100644 --- a/EGkSurfTriMesh.h +++ b/EGkSurfTriMesh.h @@ -25,6 +25,9 @@ const int SVT_DEL = - 2 ; // vertice o triangolo cancellato inline bool IsValidSvt( int nSvt) { return ( nSvt != SVT_NULL && nSvt != SVT_DEL) ; } +//---------------------------------------------------------------------------- +const double MAX_EDGE_LEN_STD = 5000.0 ; + //---------------------------------------------------------------------------- class __declspec( novtable) ISurfTriMesh : public ISurf { @@ -104,6 +107,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf virtual bool GetSurfClassification( const ISurfTriMesh& ClassifierSurf, INTVECTOR& vTriaIn, INTVECTOR& vTriaOut, INTVECTOR& vTriaOnP, INTVECTOR& vTriaOnM, INTVECTOR& vTriaIndef) = 0 ; virtual bool CutWithOtherSurf( const ISurfTriMesh& CutterSurf, bool bInVsOut, bool bSaveOnEq) = 0 ; + virtual bool Repair( double dMaxEdgeLen = MAX_EDGE_LEN_STD) = 0 ; virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const = 0 ; virtual const BBox3d& GetAllTriaBox( void) const = 0 ; virtual int GetPartCount( void) const = 0 ; From e994bb1836410aaa59d3b616498ea1c23ed583c2 Mon Sep 17 00:00:00 2001 From: DarioS Date: Sun, 9 Jan 2022 15:18:34 +0100 Subject: [PATCH 2/2] Include : - sistemazione prototipi. --- EGkIntersLineBox.h | 6 +++--- EGkIntersPlaneBox.h | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/EGkIntersLineBox.h b/EGkIntersLineBox.h index 3b75e01..b469bf9 100644 --- a/EGkIntersLineBox.h +++ b/EGkIntersLineBox.h @@ -1,8 +1,8 @@ //---------------------------------------------------------------------------- -// EgalTech 2020-2020 +// EgalTech 2020-2022 //---------------------------------------------------------------------------- -// File : EGkIntersLineBox.h Data : 07.05.20 Versione : 2.2e1 -// Contenuto : Dichiarazione della classe intersezione linea/box. +// File : EGkIntersLineBox.h Data : 08.01.22 Versione : 2.4a3 +// Contenuto : Dichiarazione delle funzioni intersezione linea/box. // // // diff --git a/EGkIntersPlaneBox.h b/EGkIntersPlaneBox.h index a087025..a814294 100644 --- a/EGkIntersPlaneBox.h +++ b/EGkIntersPlaneBox.h @@ -1,18 +1,19 @@ //---------------------------------------------------------------------------- -// EgalTech 2020-2020 +// EgalTech 2020-2022 //---------------------------------------------------------------------------- -// File : EGkIntersPlaneBox.h Data : 08.05.20 Versione : 2.2e1 +// File : EGkIntersPlaneBox.h Data : 09.01.22 Versione : 2.4a3 // Contenuto : Dichiarazione della classe intersezione piano/box. // // // // Modifiche : 08.05.20 DS Creazione modulo. -// +// 09.01.22 DS Aggiunta TestIntersPlaneBox. // //---------------------------------------------------------------------------- #pragma once +#include "/EgtDev/Include/EGkPlane3d.h" #include "/EgtDev/Include/EGkBBox3d.h" #include "/EgtDev/Include/EGkGeoCollection.h" @@ -25,5 +26,6 @@ #endif //----------------------------------------------------------------------------- -EGK_EXPORT bool IntersPlaneBox( const Point3d& ptOn, const Vector3d& vtN, const BBox3d& b3Box, +EGK_EXPORT bool TestIntersPlaneBox( const Plane3d& plPlane, const BBox3d& b3Box) ; +EGK_EXPORT bool IntersPlaneBox( const Plane3d& plPlane, const BBox3d& b3Box, PNTVECTOR& vPnt, BIPNTVECTOR& vBpt, TRIA3DVECTOR& vTria) ;