EgtGeomKernel :

- modifiche per più utensili in virtual milling (Zmap).
This commit is contained in:
DarioS
2022-12-28 19:38:58 +01:00
parent 0030b684f3
commit 0f3bd716a3
6 changed files with 679 additions and 402 deletions
+12 -12
View File
@@ -1224,13 +1224,13 @@ VolZmap::ExtMarchingCubes( int nBlock, VoxelContainer& vVox) const
bDefTopology = true ;
}
if ( GetBlockNFromIJK( nSlBlockIJK, nSlBlockN)) {
SliceMutex.lock() ;
m_SliceMutex.lock() ;
auto it = m_SliceYZ[nSlBlockN].find( nSliceN) ;
if ( it != m_SliceYZ[nSlBlockN].end()) {
bMatOnSlice = it->second ;
bDefTopology = true ;
}
SliceMutex.unlock() ;
m_SliceMutex.unlock() ;
}
}
else if ( abs( nAdjVox3[nCount]) == 2) {
@@ -1240,13 +1240,13 @@ VolZmap::ExtMarchingCubes( int nBlock, VoxelContainer& vVox) const
bDefTopology = true ;
}
if ( GetBlockNFromIJK( nSlBlockIJK, nSlBlockN)) {
SliceMutex.lock() ;
m_SliceMutex.lock() ;
auto it = m_SliceXZ[nSlBlockN].find( nSliceN) ;
if ( it != m_SliceXZ[nSlBlockN].end()) {
bMatOnSlice = it->second ;
bDefTopology = true ;
}
SliceMutex.unlock() ;
m_SliceMutex.unlock() ;
}
}
else if ( abs( nAdjVox3[nCount]) == 3) {
@@ -1256,13 +1256,13 @@ VolZmap::ExtMarchingCubes( int nBlock, VoxelContainer& vVox) const
bDefTopology = true ;
}
if ( GetBlockNFromIJK( nSlBlockIJK, nSlBlockN)) {
SliceMutex.lock() ;
m_SliceMutex.lock() ;
auto it = m_SliceXY[nSlBlockN].find( nSliceN) ;
if ( it != m_SliceXY[nSlBlockN].end()) {
bMatOnSlice = it->second ;
bDefTopology = true ;
}
SliceMutex.unlock() ;
m_SliceMutex.unlock() ;
}
}
}
@@ -1327,27 +1327,27 @@ VolZmap::ExtMarchingCubes( int nBlock, VoxelContainer& vVox) const
if ( nSlBlockN == nBlock)
SliceYZ.emplace( nSliceN, bMatOnSlice) ;
else {
SliceMutex.lock() ;
m_SliceMutex.lock() ;
m_SliceYZ[nSlBlockN].emplace( nSliceN, bMatOnSlice) ;
SliceMutex.unlock() ;
m_SliceMutex.unlock() ;
}
}
else if ( abs(nAdjVox3[nCount]) == 2) {
if ( nSlBlockN == nBlock)
SliceXZ.emplace( nSliceN, bMatOnSlice) ;
else {
SliceMutex.lock() ;
m_SliceMutex.lock() ;
m_SliceXZ[nSlBlockN].emplace( nSliceN, bMatOnSlice) ;
SliceMutex.unlock() ;
m_SliceMutex.unlock() ;
}
}
else if ( abs(nAdjVox3[nCount]) == 3) {
if ( nSlBlockN == nBlock)
SliceXY.emplace(nSliceN, bMatOnSlice) ;
else {
SliceMutex.lock();
m_SliceMutex.lock() ;
m_SliceXY[nSlBlockN].emplace( nSliceN, bMatOnSlice) ;
SliceMutex.unlock() ;
m_SliceMutex.unlock() ;
}
}
}