diff --git a/EGkDistPointSurfTm.h b/EGkDistPointSurfTm.h index 1a75aef..a168d84 100644 --- a/EGkDistPointSurfTm.h +++ b/EGkDistPointSurfTm.h @@ -47,6 +47,7 @@ class DistPointSurfTm { return IsEpsilon( EPS_ZERO) ; } EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) const ; EGK_EXPORT bool GetMinDistTriaIndex( int& nMinDistTriaIndex) const ; + EGK_EXPORT bool GetMinDistTriaIndices( INTVECTOR& vMinDistTriaIndex) const ; EGK_EXPORT bool IsPointInside( void) const { return ( m_bIsInside && m_bIsSurfClosed) ; } EGK_EXPORT bool IsPointOnLeftSide( void) const @@ -56,11 +57,12 @@ class DistPointSurfTm void Calculate( const Point3d& ptP, const ISurfTriMesh& tmSurf) ; private : - double m_dDist ; - Point3d m_ptMinDistPoint ; - int m_nMinDistTriaIndex ; - bool m_bIsInside ; - bool m_bIsSurfClosed ; + double m_dDist ; // Minima distanza del punto dalla superficie + Point3d m_ptMinDistPoint ; // Punto sulla superficie a minima distanza + int m_nMinDistTriaIndex ; // Triangolo utilizzato per calcolare il punto a minima distanza + INTVECTOR m_vnMinDistTriaIndex ; // Indici dei triangoli a minima distanza + bool m_bIsInside ; // Flag per punto interno o esterno alla superficie ( se chiusa ) + bool m_bIsSurfClosed ; // Flag per superficie aperta o chiusa } ; //---------------------------------------------------------------------------- diff --git a/EGkVolZmap.h b/EGkVolZmap.h index b158195..f38293d 100644 --- a/EGkVolZmap.h +++ b/EGkVolZmap.h @@ -94,6 +94,7 @@ class __declspec( novtable) IVolZmap : public IGeoObj virtual bool AddSurfTm( const ISurfTriMesh* pStm) = 0 ; virtual bool SubtractSurfTm( const ISurfTriMesh* pStm) = 0 ; virtual bool MakeUniform( double dToler) = 0 ; + virtual bool Offset( double dOffs, int nType) = 0 ; } ; //----------------------------------------------------------------------------- diff --git a/EXeConst.h b/EXeConst.h index c209fe9..22bba6c 100644 --- a/EXeConst.h +++ b/EXeConst.h @@ -148,6 +148,11 @@ enum SimHideErr { SHE_NONE = 0, // nessun errore SHE_SPECIAL = 5, // errore speciale/custom SHE_GENERAL = 6} ; // errore generico +//----------------- Costanti Offset per VolZmap -------------------------------- +enum VolZmapOffset { FILLET = 0 , // come in VolZmap + CHAMFER = 1, // come in VolZmap + EXTEND = 2 } ; // come in VolZmap + //----------------- Costanti per sostituzione direttorio e nome progetto -------------------- const std::string SUB_PROJECT_DIR = "%PRJDIR%" ; const std::string SUB_PROJECT_TITLE = "%PRJTITLE%" ; diff --git a/EXeExecutor.h b/EXeExecutor.h index fd41f99..2003750 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -733,6 +733,7 @@ EXE_EXPORT bool ExeVolZmapMillingStep( int nId, const Point3d& ptPs, const Vecto EXE_EXPORT bool ExeCutVolZmapPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ; EXE_EXPORT bool ExeUpdateVolZmapByAddingSurfTm( int nVolZmapId, int nStmId) ; EXE_EXPORT bool ExeUniformVolZmap( int nVolZmapId, double dToler) ; +EXE_EXPORT bool ExeVolZMapOffset( int nId, double dDist, int nType) ; // GeomDB Get EXE_EXPORT bool ExeTextNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;