| 80 | } |
| 81 | |
| 82 | void add( Implementation *s ) |
| 83 | { |
| 84 | for( ComponentMap::iterator it=s->m_components.begin(); it!=s->m_components.end(); it++ ) |
| 85 | { |
| 86 | add( it->second.component ); |
| 87 | } |
| 88 | if( s->m_userAttributes ) |
| 89 | { |
| 90 | /// \todo Is it not a bit questionable that we don't take a copy here? |
| 91 | IECore::CompoundDataMap &a = userAttributes()->writable(); |
| 92 | IECore::CompoundDataMap &ao = s->m_userAttributes->writable(); |
| 93 | for( IECore::CompoundDataMap::iterator it=ao.begin(); it!=ao.end(); it++ ) |
| 94 | { |
| 95 | a.insert( *it ); |
| 96 | } |
| 97 | } |
| 98 | } |
| 99 | |
| 100 | void add( StateComponentPtr s, bool override = false ) |
| 101 | { |