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 ;