EgtGeomKernel :

- correzioni a Zmap con mappa singola
- aggiunto a Zmap e sua interfaccia metodo IsTriDexel.
This commit is contained in:
Dario Sassi
2023-09-12 16:00:34 +02:00
parent 349c515e3e
commit 73a65d8cf9
3 changed files with 15 additions and 4 deletions
+6 -1
View File
@@ -1984,6 +1984,11 @@ VolZmap::CalcBlockNum( void)
if ( m_nMapNum == 1) {
m_nFracLin[2] = 1 ;
m_nNumBlock = m_nFracLin[0] * m_nFracLin[1] * m_nFracLin[2] ;
m_BlockToUpdate.clear() ;
m_BlockToUpdate.resize( m_nNumBlock, true) ;
m_BlockUpdatingCounter.clear() ;
m_BlockUpdatingCounter.resize( m_nNumBlock, 0) ;
m_SingleMapTria.resize( m_nNumBlock) ;
return true ;
}
// Calcolo il numero di voxel lungo Z
@@ -1995,7 +2000,7 @@ VolZmap::CalcBlockNum( void)
m_BlockToUpdate.clear() ;
m_BlockToUpdate.resize( m_nNumBlock, true) ;
m_BlockUpdatingCounter.clear() ;
m_BlockUpdatingCounter.resize( m_nNumBlock + ( m_nMapNum == 1 ? 0 : 1), 0) ;
m_BlockUpdatingCounter.resize( m_nNumBlock + 1, 0) ;
// Dimensiono raccolta di voxel, triangoli di feature tra blocchi e di segnalatori di materiale fra voxel
m_InterBlockVox.resize( m_nNumBlock) ;
+5 -3
View File
@@ -1,13 +1,13 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2020
// EgalTech 2015-2023
//----------------------------------------------------------------------------
// File : VolZmap.h Data : 12.05.19 Versione : 2.2k1
// File : VolZmap.h Data : 12.09.23 Versione : 2.5i1
// Contenuto : Dichiarazione della classe Volume Zmap.
//
//
//
// Modifiche : 22.01.15 DS Creazione modulo.
//
// 12.09.23 DS Aggiunto metodo IsTriDexel.
//
//----------------------------------------------------------------------------
@@ -77,6 +77,8 @@ class VolZmap : public IVolZmap, public IGeoObjRW
bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const override ;
bool GetEdges( ICURVEPOVECTOR& vpCurve) const override ;
bool GetVolume( double& dVol) const override ;
bool IsTriDexel( void) const override
{ return m_nMapNum == 3 ; }
bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const override ;
int GetResolution( void) const override
{ return m_nDexVoxRatio ; }
+4
View File
@@ -4569,6 +4569,10 @@ VolZmap::Remove( FlatVoxelContainer& VoxCont, int nI, int nJ, int nK) const
bool
VolZmap::GetEdges( ICURVEPOVECTOR& vpCurve) const
{
// Se mappa singola, non calcolabili
if ( m_nMapNum == 1)
return false ;
// Garantisco grafica aggiornata
UpdateTripleMapGraphics() ;