3 This file is part of the MSP Märklin suite
4 Copyright © 2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #include "vehicletype.h"
14 VehicleType::VehicleType(unsigned n):
22 VehicleType::Loader::Loader(VehicleType &vt):
23 DataFile::ObjectLoader<VehicleType>(vt)
25 add("axle", &Loader::axle);
26 add("bogie", &Loader::bogie);
27 add("height", &Loader::height);
28 add("length", &Loader::length);
29 add("name", &VehicleType::name);
30 add("width", &Loader::width);
33 void VehicleType::Loader::axle()
37 obj.axles.push_back(axl);
40 void VehicleType::Loader::bogie()
44 obj.bogies.push_back(bog);
47 void VehicleType::Loader::height(float h)
52 void VehicleType::Loader::length(float l)
57 void VehicleType::Loader::width(float w)
63 VehicleType::Axle::Loader::Loader(Axle &a):
64 DataFile::ObjectLoader<Axle>(a)
66 add("position", &Loader::position);
67 add("wheel_diameter", &Loader::wheel_diameter);
68 add("powered", &Axle::powered);
71 void VehicleType::Axle::Loader::position(float p)
73 obj.position = p/1000;
76 void VehicleType::Axle::Loader::wheel_diameter(float d)
78 obj.wheel_dia = d/1000;
82 VehicleType::Bogie::Loader::Loader(Bogie &b):
83 DataFile::ObjectLoader<Bogie>(b)
85 add("position", &Loader::position);
86 add("axle", &Loader::axle);
89 void VehicleType::Bogie::Loader::axle()
93 obj.axles.push_back(axl);
96 void VehicleType::Bogie::Loader::position(float p)
98 obj.position = p/1000;
101 } // namespace Marklin