X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fblock.cpp;h=e8e367f7255715dc3c7ac2343763ae7da11021bf;hb=8e3009751ee81e0e5312cae53ee844bdd9e49628;hp=1519401220edf59481427c68621985c0cf528f69;hpb=2707158feba5f9740d51618692914db05410f9a6;p=r2c2.git diff --git a/source/libmarklin/block.cpp b/source/libmarklin/block.cpp index 1519401..e8e367f 100644 --- a/source/libmarklin/block.cpp +++ b/source/libmarklin/block.cpp @@ -84,6 +84,14 @@ bool Block::has_track(Track &t) const return tracks.count(&t); } +const Block::Endpoint &Block::get_endpoint(unsigned i) const +{ + if(i>=endpoints.size()) + throw InvalidParameterValue("Endpoint index out of range"); + + return endpoints[i]; +} + int Block::get_endpoint_by_link(Block &other) const { for(unsigned i=0; iget_type().get_endpoints()[track.entry()].paths; + unsigned mask = track.endpoint().paths; for(unsigned i=0; mask>>i; ++i) if(mask&(1<