650540e573
- semplificata e ottimizzata creazione di superficie trimesh box standard - miglioramenti sintattici vari.
55 lines
1.8 KiB
C++
55 lines
1.8 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2014-2014
|
|
//----------------------------------------------------------------------------
|
|
// File : IterManager.h Data : 23.03.14 Versione : 1.5c9
|
|
// Contenuto : Dichiarazione e implementazione della classe IterManager.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 23.03.14 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include <list>
|
|
|
|
class GdbIterator ;
|
|
class GdbObj ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
typedef std::list<GdbIterator*> PGDBI_LIST ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class IterManager
|
|
{
|
|
public :
|
|
bool IsGdbIteratorInList( GdbIterator* pIter)
|
|
{ for ( auto Iter = m_IterList.cbegin() ; Iter != m_IterList.cend() ; ++ Iter) {
|
|
if ( *Iter == pIter)
|
|
return true ;
|
|
}
|
|
return false ; }
|
|
bool AddGdbIterator( GdbIterator* pIter)
|
|
{ if ( pIter == nullptr)
|
|
return false ;
|
|
if ( IsGdbIteratorInList( pIter))
|
|
return true ;
|
|
try { m_IterList.push_back( pIter) ; }
|
|
catch (...) { return false ;}
|
|
return true ; }
|
|
bool RemoveGdbIterator( GdbIterator* pIter)
|
|
{ for ( auto Iter = m_IterList.cbegin() ; Iter != m_IterList.cend() ; ++ Iter) {
|
|
if ( *Iter == pIter) {
|
|
m_IterList.erase( Iter) ;
|
|
return true ;
|
|
}
|
|
}
|
|
return true ; }
|
|
bool ResetObjIfSame( GdbObj* pGdbObj) ;
|
|
|
|
private :
|
|
PGDBI_LIST m_IterList ;
|
|
} ;
|