#define LIBMARKLIN_TRACKTYPE_H_
#include <msp/datafile/loader.h>
+#include "articlenumber.h"
#include "geometry.h"
#include "trackpart.h"
};
private:
- unsigned art_nr;
+ ArticleNumber art_nr;
std::string description;
std::vector<TrackPart> parts;
std::vector<Endpoint> endpoints;
bool double_address;
+ unsigned autofit_preference;
public:
- TrackType(unsigned);
+ TrackType(const ArticleNumber &);
- unsigned get_article_number() const { return art_nr; }
+ const ArticleNumber &get_article_number() const { return art_nr; }
const std::string &get_description() const { return description; }
float get_total_length() const;
float get_path_length(int) const;
bool is_turnout() const;
bool is_dead_end() const;
bool is_double_address() const { return double_address; }
+ unsigned get_autofit_preference() const { return autofit_preference; }
const std::vector<TrackPart> &get_parts() const { return parts; }
const std::vector<Endpoint> &get_endpoints() const { return endpoints; }
+ const Endpoint &get_endpoint(unsigned) const;
TrackPoint get_point(unsigned, unsigned, float) const;
private: