Include :

- Aggiunte funzioni per Offset Fillet di VolZmap e per Offset generici di superfici TriMesh aperte.
- Aggiunta funzione in DistPointSurfTm per ottenere i triangoli a minima distanza.
This commit is contained in:
Riccardo Elitropi
2025-09-12 16:56:44 +02:00
parent bfffbbf37b
commit 45aa980693
4 changed files with 14 additions and 5 deletions
+7 -5
View File
@@ -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
} ;
//----------------------------------------------------------------------------
+1
View File
@@ -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 ;
} ;
//-----------------------------------------------------------------------------
+5
View File
@@ -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%" ;
+1
View File
@@ -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) ;