EgtGeomKernel:

- piccole correzioni.
This commit is contained in:
Daniele Bariletti
2025-04-08 15:34:48 +02:00
parent 57c03a54c9
commit 55a9685add
3 changed files with 30 additions and 26 deletions
+9 -9
View File
@@ -2292,7 +2292,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
SetRightEdgeIn( nId) ;
}
// devo riconoscere le celle dentro i loop che sono ancora con label nFlag2 = 0
// devo riconoscere le celle dentro i loop che sono ancora con label m_bLabelled = false
ResetTree() ;
INTVECTOR vNeigh, vFirst ;
GetRootNeigh( 1, vFirst) ;
@@ -2308,7 +2308,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
// mentre torno indietro a sinistra, mi fermo quando trovo una cella non processata ( con vicini a destra da cui non sono passato)
while ( ! bAllDone) {
// categorizzo la cella
m_mTree[nCell].m_nFlag2 = 1 ;
m_mTree[nCell].m_bLabelled = true ;
CategorizeCell( nCell) ;
bool bDone = false ;
// fintanto che la cella ha tra i vicini a destra una cella non elaborata mi sposto a destra
@@ -2317,7 +2317,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
// verso la cella a destra più in basso da cui non sono ancora passato
bool bProceeded = false ;
for ( int i = 0 ; i < (int)vNeigh.size() ; ++ i) {
if ( m_mTree[vNeigh[i]].m_nFlag2 == 0) {
if ( m_mTree[vNeigh[i]].m_bLabelled == false) {
nCell = vNeigh[i] ;
bProceeded = true ;
break ;
@@ -2328,7 +2328,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
}
else {
//categorizzo la cella
m_mTree[nCell].m_nFlag2 = 1 ;
m_mTree[nCell].m_bLabelled = true ;
CategorizeCell( nCell) ;
}
@@ -2340,7 +2340,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
//controllo che tra i vicini di destra ce ne sia almeno uno da cui non sono passato
// ( e controllo che non sia una cella sul lato sinistro ( adiacenza in caso di superficie chiusa))
for ( int t: vNeigh) {
if ( m_mTree[t].m_nFlag2 == 0 ) {
if ( m_mTree[t].m_bLabelled == false ) {
if ( ! m_bClosedU) {
bDone = false ;
break ;
@@ -2368,7 +2368,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
// però se sono già sul lato sinistro non cerco di spostarmi ancora più a sinistra.
if ( ! m_mTree[nCell].m_bOnLeftEdge) {
for ( int p = 0 ; p < (int)vNeigh.size() ; ++ p) {
if ( m_mTree[vNeigh[p]].m_nFlag2 != 0) {
if ( m_mTree[vNeigh[p]].m_bLabelled != false) {
nCell = vNeigh[p] ;
break ;
}
@@ -2379,7 +2379,7 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
// se questa cella non è processata devo procedere alla cella più bassa non processata sul lato sinistro
if ( vNeigh.empty() && m_mTree[nCell].IsProcessed()) {
for ( int p = 0 ; p < (int)vFirst.size() ; ++ p) {
if ( m_mTree[vFirst[p]].m_nFlag2 == 0) {
if ( m_mTree[vFirst[p]].m_bLabelled == false) {
nCell = vFirst[p] ;
break ;
}
@@ -2418,8 +2418,8 @@ Tree::TraceLoopLabelCell( const POLYLINEVECTOR& vplPolygons)
}
if ( bDone) {
m_mTree[nCell].SetProcessed( bDone) ;
if ( m_mTree[nCell].m_nFlag2 == 0) {
m_mTree[nCell].m_nFlag2 = 1 ;
if ( m_mTree[nCell].m_bLabelled == false) {
m_mTree[nCell].m_bLabelled = true ;
CategorizeCell( nCell) ;
}
}