EgtGeomKernel 1.5c5 :

- IGdbIterator può utilizzare un altro IGdbIterator per andare sul gruppo
- aggiunta gestione nomi di colori standard
- Aggiunte ToString e FromString per Color
- TSC ora accetta colori standard da nome.
This commit is contained in:
Dario Sassi
2014-03-12 21:19:47 +00:00
parent 0b9c1a8fc5
commit 01ce6ea4a4
18 changed files with 391 additions and 119 deletions
+67 -9
View File
@@ -54,8 +54,10 @@ GdbIterator::SetGDB( IGeomDB* pGDB)
bool
GdbIterator::GoTo( int nId)
{
if ( m_pGDB == nullptr)
if ( m_pGDB == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
m_pCurrObj = m_pGDB->GetGdbObj( nId) ;
@@ -66,14 +68,41 @@ GdbIterator::GoTo( int nId)
bool
GdbIterator::GoToFirstInGroup( int nIdGroup)
{
GdbGroup* pGdbGroup ;
if ( m_pGDB == nullptr)
if ( m_pGDB == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
// recupero il gruppo
pGdbGroup = m_pGDB->GetGdbGroup( nIdGroup) ;
GdbGroup* pGdbGroup = m_pGDB->GetGdbGroup( nIdGroup) ;
if ( pGdbGroup == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
// recupero l'oggetto
m_pCurrObj = pGdbGroup->GetFirstObj() ;
return ( m_pCurrObj != nullptr) ;
}
//----------------------------------------------------------------------------
bool
GdbIterator::GoToFirstInGroup( const IGdbIterator& iIter)
{
if ( m_pGDB == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
const GdbIterator* pIter = dynamic_cast<const GdbIterator*> (&iIter) ;
if ( pIter == nullptr || pIter->m_pGDB != m_pGDB) {
m_pCurrObj = nullptr ;
return false ;
}
// recupero il gruppo
GdbGroup* pGdbGroup = GetGdbGroup( pIter->m_pCurrObj) ;
if ( pGdbGroup == nullptr) {
m_pCurrObj = nullptr ;
return false ;
@@ -101,12 +130,41 @@ GdbIterator::GoToNext( void)
bool
GdbIterator::GoToLastInGroup( int nIdGroup)
{
if ( m_pGDB == nullptr)
if ( m_pGDB == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
// recupero il gruppo
GdbGroup* pGdbGroup ;
pGdbGroup = m_pGDB->GetGdbGroup( nIdGroup) ;
GdbGroup* pGdbGroup = m_pGDB->GetGdbGroup( nIdGroup) ;
if ( pGdbGroup == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
// recupero l'oggetto
m_pCurrObj = pGdbGroup->GetLastObj() ;
return ( m_pCurrObj != nullptr) ;
}
//----------------------------------------------------------------------------
bool
GdbIterator::GoToLastInGroup( const IGdbIterator& iIter)
{
if ( m_pGDB == nullptr) {
m_pCurrObj = nullptr ;
return false ;
}
const GdbIterator* pIter = dynamic_cast<const GdbIterator*> (&iIter) ;
if ( pIter == nullptr || pIter->m_pGDB != m_pGDB) {
m_pCurrObj = nullptr ;
return false ;
}
// recupero il gruppo
GdbGroup* pGdbGroup = GetGdbGroup( pIter->m_pCurrObj) ;
if ( pGdbGroup == nullptr) {
m_pCurrObj = nullptr ;
return false ;