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::Axle::Axle():
29 VehicleType::Bogie::Bogie():
35 VehicleType::Loader::Loader(VehicleType &vt):
36 DataFile::ObjectLoader<VehicleType>(vt)
38 add("axle", &Loader::axle);
39 add("bogie", &Loader::bogie);
40 add("height", &Loader::height);
41 add("length", &Loader::length);
42 add("object", &VehicleType::object);
43 add("name", &VehicleType::name);
44 add("width", &Loader::width);
47 void VehicleType::Loader::axle()
51 obj.axles.push_back(axl);
54 void VehicleType::Loader::bogie()
58 obj.bogies.push_back(bog);
61 void VehicleType::Loader::height(float h)
66 void VehicleType::Loader::length(float l)
71 void VehicleType::Loader::width(float w)
77 VehicleType::Axle::Loader::Loader(Axle &a):
78 DataFile::ObjectLoader<Axle>(a)
80 add("position", &Loader::position);
81 add("powered", &Axle::powered);
82 add("wheel_diameter", &Loader::wheel_diameter);
85 void VehicleType::Axle::Loader::position(float p)
87 obj.position = p/1000;
90 void VehicleType::Axle::Loader::wheel_diameter(float d)
92 obj.wheel_dia = d/1000;
96 VehicleType::Bogie::Loader::Loader(Bogie &b):
97 DataFile::ObjectLoader<Bogie>(b)
99 add("axle", &Loader::axle);
100 add("object", &Bogie::object);
101 add("position", &Loader::position);
102 add("rotate_object", &Bogie::rotate_object);
105 void VehicleType::Bogie::Loader::axle()
109 obj.axles.push_back(axl);
112 void VehicleType::Bogie::Loader::position(float p)
114 obj.position = p/1000;
117 } // namespace Marklin