scale 1 87;
gauge 16.5;
-vehicle 39230
+vehicle \39230
{
name "BR 23";
locomotive true;
};
};
-vehicle 36850
+vehicle \36850
{
name "BR 185";
locomotive true;
};
};
-vehicle 39410
+vehicle \39410
{
name "BR E 41";
locomotive true;
add("rail_profile", &Loader::rail_profile);
add("scale", &Loader::scale);
add("signal", &Loader::signal);
- add("track", static_cast<void (Loader::*)(unsigned)>(&Loader::track));
- add("track", static_cast<void (Loader::*)(ArticleNumber)>(&Loader::track));
+ add("track", &Loader::track);
add("track_technique", &Catalogue::track_technique);
- add("vehicle", static_cast<void (Loader::*)(unsigned)>(&Loader::vehicle));
- add("vehicle", static_cast<void (Loader::*)(ArticleNumber)>(&Loader::vehicle));
+ add("vehicle", &Loader::vehicle);
}
void Catalogue::Loader::ballast_profile()
obj.add_signal(*sig.release());
}
-void Catalogue::Loader::track(unsigned art_nr)
-{
- track(ArticleNumber(art_nr));
-}
-
void Catalogue::Loader::track(ArticleNumber art_nr)
{
if(obj.tracks.count(art_nr))
obj.add_track(*trk.release());
}
-void Catalogue::Loader::vehicle(unsigned art_nr)
-{
- vehicle(ArticleNumber(art_nr));
-}
-
void Catalogue::Loader::vehicle(ArticleNumber art_nr)
{
if(obj.vehicles.count(art_nr))
void rail_profile();
void scale(float, float);
void signal(ArticleNumber);
- void track(unsigned);
void track(ArticleNumber);
- void vehicle(unsigned);
void vehicle(ArticleNumber);
};
new_tracks(false)
{
add("base", &Layout::base);
- add("route", static_cast<void (Loader::*)()>(&Loader::route));
+ add("route", &Loader::route);
add("signal", &Loader::signal);
- add("track", static_cast<void (Loader::*)(ArticleNumber)>(&Loader::track));
- add("train", static_cast<void (Loader::*)(ArticleNumber, unsigned, const std::string &)>(&Loader::train));
+ add("track", &Loader::track);
+ add("train", &Loader::train);
add("turnout", &Loader::turnout);
add("zone", &Loader::zone);
-
- // Deprecated aliases
- add("route", static_cast<void (Loader::*)(const string &)>(&Loader::route));
- add("track", static_cast<void (Loader::*)(unsigned)>(&Loader::track));
- add("train", static_cast<void (Loader::*)(unsigned, unsigned, const std::string &)>(&Loader::train));
}
void Layout::Loader::route()
load_sub(*rte);
}
-void Layout::Loader::route(const string &n)
-{
- Route *rte = new Route(obj);
- rte->set_name(n);
- load_sub(*rte);
-}
-
void Layout::Loader::signal(ArticleNumber art_nr)
{
Signal *sig = new Signal(obj, obj.catalogue.get_signal(art_nr));
load_sub(*sig);
}
-void Layout::Loader::track(unsigned art_nr)
-{
- track(ArticleNumber(art_nr));
-}
-
void Layout::Loader::track(ArticleNumber art_nr)
{
Track *trk = new Track(obj, obj.catalogue.get_track(art_nr));
trk->link_to(**i);
}
-void Layout::Loader::train(unsigned art_nr, unsigned addr, const std::string &proto)
-{
- train(ArticleNumber(art_nr), addr, proto);
-}
-
void Layout::Loader::train(ArticleNumber art_nr, unsigned addr, const std::string &proto)
{
Train *trn = new Train(obj, obj.catalogue.get_vehicle(art_nr), addr, proto);
Loader(Layout &);
private:
void route();
- void route(const std::string &);
void signal(ArticleNumber);
- void track(unsigned);
void track(ArticleNumber);
- void train(unsigned, unsigned, const std::string &);
void train(ArticleNumber, unsigned, const std::string &);
void turnout(unsigned, unsigned);
void zone();
// Straight
-track 24064
+track \24064
{
description "Straight, 64.3mm (R3-R4-R5)";
part
};
};
-track 24071
+track \24071
{
description "Straight, 70.8mm (for slim turnouts)";
part
autofit_preference 0;
};
-track 24077
+track \24077
{
description "Straight, 77.5mm (R1-R2-R3)";
part
autofit_preference 2;
};
-track 24094
+track \24094
{
description "Straight, 94.2mm";
part
autofit_preference 2;
};
-track 24172
+track \24172
{
description "Straight, 171.7mm";
part
autofit_preference 2;
};
-track 24188
+track \24188
{
description "Straight, 188.3mm (turnout length)";
part
autofit_preference 2;
};
-track 24229
+track \24229
{
description "Straight, 229.3mm";
part
};
};
-track 24236
+track \24236
{
description "Straight, 236.1mm (slim turnout length)";
part
};
};
-track 24360
+track \24360
{
description "Straight, 360mm";
part
// Curves, R1
-track 24107
+track \24107
{
description "Curve, R1 = 360mm, 7.5°";
part
};
};
-track 24115
+track \24115
{
description "Curve, R1 = 360mm, 15°";
part
};
};
-track 24130
+track \24130
{
description "Curve, R1 = 360mm, 30°";
part
// Curves, R2
-track 24206
+track \24206
{
description "Curve, R2 = 437.5mm, 5.7° (turnout to 30°)";
part
};
};
-track 24207
+track \24207
{
description "Curve, R2 = 437.5mm, 7.5°";
part
};
};
-track 24215
+track \24215
{
description "Curve, R2 = 437.5mm, 15°";
part
};
};
-track 24224
+track \24224
{
description "Curve, R2 = 437.5mm, 24.3° (turnout)";
part
};
};
-track 24230
+track \24230
{
description "Curve, R2 = 437.5mm, 30°";
part
// Curves, R3
-track 24330
+track \24330
{
description "Curve, R3 = 515mm, 30°";
part
// Curves, R4
-track 24430
+track \24430
{
description "Curve, R4 = 579.3mm, 30°";
part
// Curves, R5
-track 24530
+track \24530
{
description "Curve, R5 = 643.6mm, 30°";
part
// Curves, slim turnout
-track 24912
+track \24912
{
description "Curve, R = 1114.6mm, 12.1° (slim turnout)";
part
// Curved turnouts, R1
-track 24671
+track \24671
{
description "Curved turnout, left";
part
};
};
-track 24672
+track \24672
{
description "Curved turnout, right";
part
// Turnouts, R2
-track 24611
+track \24611
{
description "Turnout, left";
part
};
};
-track 24612
+track \24612
{
description "Turnout, right";
part
};
};
-track 24630
+track \24630
{
description "Turnout, 3-way";
part
};
};
-track 24624
+track \24624
{
description "Turnout, double slip";
state_bits 1;
// Slim turnouts
-track 24711
+track \24711
{
description "Slim turnout, left";
part
};
};
-track 24712
+track \24712
{
description "Slim turnout, right";
part
// Crossings
-track 24640
+track \24640
{
description "Crossing, 24.3°";
part
};
};
-track 24649
+track \24649
{
description "Crossing, 48.6°";
part
};
};
-track 24740
+track \24740
{
description "Slim crossing, 12.1°";
part
// Specials
-track 24977
+track \24977
{
description "Bumper";
object "bumper.object";
layout
{
- track 24115
+ track \24115
{
position 0.0806517 0.139002 0;
rotation 2.22529;
};
- track 24612
+ track \24612
{
position -0.310086 -0.38055 0;
rotation 1.5708;
};
- track 24172
+ track \24172
{
position -0.232565 -0.0797749 0;
rotation 1.5708;
};
- track 24611
+ track \24611
{
position -0.387608 -0.380475 0;
rotation 1.5708;
};
- track 24130
+ track \24130
{
position 0.155044 -0.08015 0;
rotation 1.5708;
};
- track 24230
+ track \24230
{
position 0.232566 -0.0802249 0;
rotation 1.5708;
};
- track 24107
+ track \24107
{
position -0.0249545 0.231617 0;
rotation 2.61799;
};
- track 24224
+ track \24224
{
position -0.465131 -0.38055 0;
rotation 1.5708;
};
- track 24330
+ track \24330
{
position 0.310088 -0.0803 0;
rotation 1.5708;
};
- track 24215
+ track \24215
{
position 0.142158 0.186105 0;
rotation 2.2253;
};
- track 24207
+ track \24207
{
position 0.0138165 0.298658 0;
rotation 2.61799;
};
- track 24711
+ track \24711
{
position 0.374455 -0.381008 0;
rotation 1.5708;
};
- track 24530
+ track \24530
{
position 0.438821 -0.0809179 0;
rotation 1.5708;
};
- track 24430
+ track \24430
{
position 0.374455 -0.080609 0;
rotation 1.5708;
};
- track 24630
+ track \24630
{
position -0.19005 -0.380551 0;
rotation 1.5708;
};
- track 24712
+ track \24712
{
position 0.438821 -0.381316 0;
rotation 1.5708;
};
- track 24624
+ track \24624
{
position -0.0775215 -0.380625 0;
rotation 1.5708;
};
- track 24640
+ track \24640
{
position -0.232565 0.185972 0;
rotation 1.5708;
};
- track 24671
+ track \24671
{
position 0.0775225 -0.380624 0;
rotation 1.5708;
};
- track 24977
+ track \24977
{
position -0.465131 0.186196 0;
rotation 1.5708;
};
- track 24672
+ track \24672
{
position 0.155044 -0.380699 0;
rotation 1.5708;
};
- track 24649
+ track \24649
{
position -0.348827 0.194312 0;
rotation 1.99491;
};
- track 24064
+ track \24064
{
position 0.0775223 -0.080075 0;
rotation 1.5708;
};
- track 24077
+ track \24077
{
position -0.0775215 -0.079925 0;
rotation 1.5708;
};
- track 24229
+ track \24229
{
position -0.387609 -0.079626 0;
rotation 1.5708;
};
- track 24071
+ track \24071
{
position 2.56295e-07 -0.0799999 0;
rotation 1.5708;
};
- track 24094
+ track \24094
{
position -0.155042 -0.07985 0;
rotation 1.5708;
};
- track 24188
+ track \24188
{
position -0.310087 -0.0797 0;
rotation 1.5708;
};
- track 24236
+ track \24236
{
position -0.465131 -0.0795509 0;
rotation 1.5708;
};
- track 24912
+ track \24912
{
position 0.310088 -0.380699 0;
rotation 1.5708;
};
- track 24206
+ track \24206
{
position -0.446223 -0.161726 0;
rotation 2.0944;
};
- track 24740
+ track \24740
{
position -0.112537 0.138174 0;
rotation 1.5708;
};
- track 24360
+ track \24360
{
position -0.542646 -0.0794758 0;
rotation 1.5708;
scale 1 87;
gauge 16.5;
-vehicle 46274
+vehicle \46274
{
name "Saar Railroad Gmhs 54";
};
};
-vehicle 4442
+vehicle \4442
{
name "Z";
};
};
-vehicle 100004
+vehicle \100004
{
name "Omm 52";
axle { position -31; wheel_diameter 10; };
};
-vehicle 47001
+vehicle \47001
{
name "Rs 684";
};
};
-vehicle 48943
+vehicle \48943
{
name "BTr 10";
axle { position -23; wheel_diameter 10; };
};
-vehicle 43222
+vehicle \43222
{
name "B4üw 38 \"Schürzenwagen\"";
};
};
-vehicle 43800
+vehicle \43800
{
name "B4nzb 64 \"Silberling\"";
};
};
-vehicle 47072
+vehicle \47072
{
name "Sgns 691";
};
};
-vehicle 4624
+vehicle \4624
{
name "Fals-u 176";
};
};
-vehicle 4423
+vehicle \4423
{
name "Kklm 505";
axle { position -31; wheel_diameter 10; };
};
-vehicle 4410
+vehicle \4410
{
name "Gs 210";
axle { position -31; wheel_diameter 10; };
};
-vehicle 46977
+vehicle \46977
{
name "Rlmmso 56";
axle { position -46; wheel_diameter 10; };
};
-vehicle 4699
+vehicle \4699
{
name "Pwg 14";
axle { position -25; wheel_diameter 10; };
};
-vehicle 46717
+vehicle \46717
{
name "Railway crane";
axle { position -21.5; wheel_diameter 10; };
};
-vehicle 4690
+vehicle \4690
{
name "Eaos 106";