EgtGraphics 1.8d1 :
- modifiche per poter visualizzare le normali degli Zmap.
This commit is contained in:
+10
-8
@@ -178,10 +178,10 @@ Scene::DrawGeoObj( const IGdbIterator& iIter, int nPass, const MdStMkCol& siObj)
|
||||
if ( nGeoType == VOL_ZMAP) {
|
||||
const IVolZmap* pZmap = GetVolZmap( pGeoObj) ;
|
||||
if ( pZmap != nullptr) {
|
||||
switch ( m_nShowZmap) {
|
||||
case ZSM_SURF : nCount = pZmap->GetBlockCount() ; break ;
|
||||
case ZSM_BOTH : nCount = pZmap->GetBlockCount() + 1 ; break ;
|
||||
}
|
||||
if ( ( m_nShowZmap & ZSM_SURF) != 0)
|
||||
nCount += pZmap->GetBlockCount() ;
|
||||
if ( ( m_nShowZmap & ZSM_LINES) != 0 || ( m_nShowZmap & ZSM_NORMALS) != 0)
|
||||
nCount += 1 ;
|
||||
}
|
||||
}
|
||||
// nuova modalità grafica solo per superfici con molti triangoli o solidi Zmap
|
||||
@@ -381,15 +381,17 @@ Scene::DrawGeoObj( const IGdbIterator& iIter, int nPass, const MdStMkCol& siObj)
|
||||
pGraphics->EndTriangles() ;
|
||||
}
|
||||
}
|
||||
// visualizzazione spilloni (sempre nell'ultimo blocco)
|
||||
if ( m_nShowZmap == ZSM_LINES || m_nShowZmap == ZSM_BOTH) {
|
||||
// visualizzazione spilloni e normali (sempre nell'ultimo blocco)
|
||||
if ( ( m_nShowZmap & ZSM_LINES) != 0 || ( m_nShowZmap & ZSM_NORMALS) != 0) {
|
||||
// imposto indice blocco corrente
|
||||
pGraphics->SetCurrent( nCount) ;
|
||||
// lo pulisco
|
||||
pGraphics->Clear() ;
|
||||
// ciclo sui tre gruppi di spilloni
|
||||
Color vCol[3] = {BLUE, RED, GREEN} ;
|
||||
for ( int k = 0 ; k < 3 ; ++ k) {
|
||||
int nKmin = ( m_nShowZmap & ZSM_LINES) != 0 ? 0 : 3 ;
|
||||
int nKmax = ( m_nShowZmap & ZSM_NORMALS) != 0 ? 6 : 3 ;
|
||||
Color vCol[6] = {BLUE, RED, GREEN, BLUE, RED, GREEN} ;
|
||||
for ( int k = nKmin ; k < nKmax ; ++ k) {
|
||||
pGraphics->AddColor( vCol[k]) ;
|
||||
pGraphics->AddMaterial( vCol[k], vCol[k], vCol[k], 10) ;
|
||||
pGraphics->AddBackMaterial( vCol[k]) ;
|
||||
|
||||
Reference in New Issue
Block a user