X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftracktype.cpp;h=c2740f1d39b33ccfe10f819863ea26da220544f8;hb=81ee4fbd16b472892b67b35ea85956423a2247ed;hp=59b8f9ca275b4fe508b94fe77c32ec220ab83472;hpb=145ba6391812e2b1040a78a8f0fda5888bfea610;p=r2c2.git diff --git a/source/libr2c2/tracktype.cpp b/source/libr2c2/tracktype.cpp index 59b8f9c..c2740f1 100644 --- a/source/libr2c2/tracktype.cpp +++ b/source/libr2c2/tracktype.cpp @@ -1,5 +1,6 @@ #include #include +#include "trackappearance.h" #include "tracktype.h" using namespace std; @@ -7,13 +8,25 @@ using namespace Msp; namespace R2C2 { -TrackType::TrackType(const ArticleNumber &an, const TrackAppearance &ta): +TrackType::TrackType(const ArticleNumber &an, const TrackAppearance *ta): ObjectType(an), appearance(ta), state_bits(0), autofit_preference(1) { } +const TrackAppearance &TrackType::get_appearance() const +{ + if(!appearance) + throw logic_error("no appearance"); + return *appearance; +} + +float TrackType::get_gauge() const +{ + return get_appearance().get_gauge(); +} + float TrackType::get_total_length() const { return get_path_length(-1);