+ add("vehicle", &Loader::vehicle);
+}
+
+void Catalogue::Loader::ballast_profile()
+{
+ load_sub(obj.ballast_profile);
+}
+
+void Catalogue::Loader::gauge(float g)
+{
+ obj.gauge = g/1000;
+ obj.path_profile = Profile();
+ obj.path_profile.append_point(Point(0.1*obj.gauge, 0));
+ obj.path_profile.append_point(Point(-0.1*obj.gauge, 0));
+}
+
+void Catalogue::Loader::layout()
+{
+ load_sub(obj.layout);
+}
+
+void Catalogue::Loader::locomotive(unsigned art_nr)
+{
+ RefPtr<LocoType> loco = new LocoType(art_nr);
+ load_sub(*loco);
+ obj.add_vehicle(*loco);
+ loco.release();