+ st.append(catalogue.get_name(&(*i)->get_type()));
+ (*i)->save(st.sub);
+ writer.write(st);
+ }
+
+ const set<Terrain *> &terrains = objects.get<Terrain>();
+ for(set<Terrain *>::const_iterator i=terrains.begin(); i!=terrains.end(); ++i)
+ {
+ DataFile::Statement st("terrain");
+ st.append(catalogue.get_name(&(*i)->get_type()));
+ (*i)->save(st.sub);
+ writer.write(st);
+ }
+
+ const set<BeamGate *> &gates = objects.get<BeamGate>();
+ for(set<BeamGate *>::const_iterator i=gates.begin(); i!=gates.end(); ++i)
+ {
+ DataFile::Statement st("beamgate");