]> git.tdb.fi Git - r2c2.git/commitdiff
Change terminology to better distinguish routes on the layout from paths across track...
authorMikko Rasa <tdb@tdb.fi>
Sun, 13 Dec 2009 15:04:44 +0000 (15:04 +0000)
committerMikko Rasa <tdb@tdb.fi>
Sun, 13 Dec 2009 15:04:44 +0000 (15:04 +0000)
21 files changed:
source/3d/track.cpp
source/3d/track.h
source/designer/designer.cpp
source/engineer/engineer.cpp
source/libmarklin/block.cpp
source/libmarklin/block.h
source/libmarklin/endpoint.h
source/libmarklin/layout.cpp
source/libmarklin/route.cpp
source/libmarklin/track.cpp
source/libmarklin/trackpart.cpp
source/libmarklin/trackpart.h
source/libmarklin/tracktype.cpp
source/libmarklin/tracktype.h
source/libmarklin/trafficmanager.cpp
source/libmarklin/trafficmanager.h
source/libmarklin/train.cpp
source/libmarklin/train.h
source/libmarklin/turnout.cpp
source/libmarklin/turnout.h
tracks.dat

index 47e6e61161bb0845befa987756251e53c7e47527..b2ee4fad8fd34e942f25ceec0549169bad6cdb70 100644 (file)
@@ -132,17 +132,17 @@ void Track3D::render_endpoints() const
        glPopMatrix();
 }
 
-void Track3D::render_route(int route) const
+void Track3D::render_path(int path) const
 {
        prepare_render(true);
 
        varray.apply();
-       if(route>=0 && static_cast<unsigned>(route)<route_seq.size())
-               glDrawElements(GL_QUADS, route_seq[route].size(), GL_UNSIGNED_INT, &route_seq[route][0]);
+       if(path>=0 && static_cast<unsigned>(path)<path_seq.size())
+               glDrawElements(GL_QUADS, path_seq[path].size(), GL_UNSIGNED_INT, &path_seq[path][0]);
        else
        {
-               for(unsigned i=0; i<route_seq.size(); ++i)
-                       glDrawElements(GL_QUADS, route_seq[i].size(), GL_UNSIGNED_INT, &route_seq[i][0]);
+               for(unsigned i=0; i<path_seq.size(); ++i)
+                       glDrawElements(GL_QUADS, path_seq[i].size(), GL_UNSIGNED_INT, &path_seq[i][0]);
        }
 
        glPopMatrix();
@@ -167,8 +167,8 @@ void Track3D::build_object()
 
        base_seq.clear();
        rail_seq.clear();
-       route_seq.clear();
-       route_seq.resize(track.get_type().get_n_routes());
+       path_seq.clear();
+       path_seq.resize(track.get_type().get_n_paths());
 
        const vector<TrackPart> &parts = track.get_type().get_parts();
        unsigned index = 0;
@@ -244,10 +244,10 @@ void Track3D::build_part(const TrackPart &part, GL::VertexArrayBuilder &va_build
                        rail_seq.push_back(base_index+(i+1)*psize+1+j*2);
                        rail_seq.push_back(base_index+i*psize+1+j*2);
                }
-               route_seq[part.route].push_back(base_index+i*psize+18);
-               route_seq[part.route].push_back(base_index+(i+1)*psize+18);
-               route_seq[part.route].push_back(base_index+(i+1)*psize+19);
-               route_seq[part.route].push_back(base_index+i*psize+19);
+               path_seq[part.path].push_back(base_index+i*psize+18);
+               path_seq[part.path].push_back(base_index+(i+1)*psize+18);
+               path_seq[part.path].push_back(base_index+(i+1)*psize+19);
+               path_seq[part.path].push_back(base_index+i*psize+19);
        }
 
        base_index += (nsegs+1)*psize;
index 3630ac6ae4b8f4a6e4bee1a75e162da67f67e53e..adc046b9fc13c9b53f069d16ff4f10b75225c4b4 100644 (file)
@@ -26,7 +26,7 @@ private:
        Msp::GL::VertexArray varray;
        std::vector<unsigned> base_seq;
        std::vector<unsigned> rail_seq;
-       std::vector<std::vector<unsigned> > route_seq;
+       std::vector<std::vector<unsigned> > path_seq;
        unsigned quality;
 
 public:
@@ -38,7 +38,7 @@ public:
        void get_bounds(float, Point &, Point &) const;
        void render() const;
        void render_endpoints() const;
-       void render_route(int) const;
+       void render_path(int) const;
 private:
        void prepare_render(bool) const;
        void build_object();
index c5c274edbda8ccd3163b7f81ff30d777aed6cb15..a5bbc68e2b76fa8234cb367103652bb69f10d3a1 100644 (file)
@@ -402,7 +402,7 @@ void Designer::key_press(unsigned code, unsigned mod, wchar_t)
        else if(key==Msp::Input::KEY_T)
        {
                Track *track = selection->get_track();
-               if(selection->size()==1 && track->get_type().get_n_routes()>1)
+               if(selection->size()==1 && track->get_type().get_n_paths()>1)
                {
                        ostringstream ss;
                        ss<<track->get_turnout_id();
@@ -419,7 +419,7 @@ void Designer::key_press(unsigned code, unsigned mod, wchar_t)
                int id = -1;
                for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
                {
-                       if((*i)->get_type().get_n_routes()==1)
+                       if((*i)->get_type().get_n_paths()==1)
                                ok = true;
                        if(static_cast<int>((*i)->get_sensor_id())!=id)
                        {
@@ -597,14 +597,14 @@ void Designer::render()
                        const map<unsigned, int> &turnouts = cur_route->get_turnouts();
                        for(set<const Track *>::const_iterator i=rtracks.begin(); i!=rtracks.end(); ++i)
                        {
-                               unsigned route = 0;
+                               unsigned path = 0;
                                if(unsigned tid=(*i)->get_turnout_id())
                                {
                                        map<unsigned, int>::const_iterator j = turnouts.find(tid);
                                        if(j!=turnouts.end())
-                                               route = j->second;
+                                               path = j->second;
                                }
-                               layout_3d->get_track(**i).render_route(route);
+                               layout_3d->get_track(**i).render_path(path);
                        }
                }
                manipulator->render();
index a2e13f10f3474f590c4e02f97ec5b117ed9d6bde..11729be5b9a6f1754c0036704258f893cea6c4ff 100644 (file)
@@ -229,10 +229,10 @@ void Engineer::tick()
                if(track.get_turnout_id())
                {
                        Turnout &trnt = control.get_turnout(track.get_turnout_id());
-                       (*i)->render_route(trnt.get_route());
+                       (*i)->render_path(trnt.get_path());
                }
                else
-                       (*i)->render_route(-1);
+                       (*i)->render_path(-1);
        }
 
        if(placing_train && placing_block)
@@ -327,7 +327,7 @@ void Engineer::button_press(int x, int y, unsigned btn, unsigned)
                                Turnout &turnout = control.get_turnout(tid);
                                try
                                {
-                                       turnout.set_route((turnout.get_route()+1)%track->get_track().get_type().get_n_routes());
+                                       turnout.set_path((turnout.get_path()+1)%track->get_track().get_type().get_n_paths());
                                        main_panel->set_status_text(format("Turnout %d switched", turnout.get_address()));
                                }
                                catch(const TurnoutBusy &e)
index c562788811a05ec07bc4997a8df6d6b49cf14a16..9a9164ea292770380548aea3a2c517ac4fbe327d 100644 (file)
@@ -52,10 +52,10 @@ Block::Block(TrafficManager &tm, Track &start):
 
        for(unsigned i=0; i<endpoints.size(); ++i)
        {
-               unsigned route = 1<<i;
-               endpoints[i].routes |= route;
+               unsigned path = 1<<i;
+               endpoints[i].paths |= path;
                set<Track *> visited;
-               find_routes(*endpoints[i].track, endpoints[i].track_ep, route, visited);
+               find_paths(*endpoints[i].track, endpoints[i].track_ep, path, visited);
        }
 }
 
@@ -82,18 +82,18 @@ int Block::traverse(unsigned epi, float *len) const
 
        while(1)
        {
-               unsigned cur_route = 0;
+               unsigned cur_path = 0;
                unsigned tid = track->get_turnout_id();
                if(tid)
                {
                        Turnout &turnout = trfc_mgr.get_control().get_turnout(tid);
-                       cur_route = turnout.get_route();
+                       cur_path = turnout.get_path();
                }
 
                if(len)
-                       *len += track->get_type().get_route_length(cur_route);
+                       *len += track->get_type().get_path_length(cur_path);
 
-               int other_ep = track->traverse(track_ep, cur_route);
+               int other_ep = track->traverse(track_ep, cur_path);
                if(other_ep<0)
                        return -1;
 
@@ -157,11 +157,11 @@ void Block::print_debug()
                        cout<<i->link->id;
                else
                        cout<<"none";
-               cout<<", routes="<<i->routes<<'\n';
+               cout<<", paths="<<i->paths<<'\n';
        }
 }
 
-void Block::find_routes(Track &track, unsigned track_ep, unsigned route, set<Track *> &visited)
+void Block::find_paths(Track &track, unsigned track_ep, unsigned path, set<Track *> &visited)
 {
        visited.insert(&track);
 
@@ -172,15 +172,15 @@ void Block::find_routes(Track &track, unsigned track_ep, unsigned route, set<Tra
                Track *link = track.get_link(i);
                if(!link) continue;
                if(visited.count(link)) continue;
-               if(!(eps[i].routes&eps[track_ep].routes)) continue;
+               if(!(eps[i].paths&eps[track_ep].paths)) continue;
 
                if(tracks.count(link))
-                       find_routes(*link, link->get_endpoint_by_link(track), route, visited);
+                       find_paths(*link, link->get_endpoint_by_link(track), path, visited);
                else
                {
                        for(vector<Endpoint>::iterator j=endpoints.begin(); j!=endpoints.end(); ++j)
                                if(j->track==&track && j->track_ep==i)
-                                       j->routes |= route;
+                                       j->paths |= path;
                }
        }
 }
@@ -190,7 +190,7 @@ Block::Endpoint::Endpoint(Track *t, unsigned e):
        track(t),
        track_ep(e),
        link(0),
-       routes(0)
+       paths(0)
 { }
 
 } // namespace Marklin
index 770a3520289227830b37d40df45ce1d12ca83cc8..64f02e50b7babe2242de6dd9d023b0e1075862f9 100644 (file)
@@ -25,7 +25,7 @@ public:
                Track *track;
                unsigned track_ep;
                Block *link;
-               unsigned routes;
+               unsigned paths;
 
                Endpoint(Track *, unsigned);
        };
@@ -54,7 +54,7 @@ public:
        const Train *get_train() const { return train; }
        void print_debug();
 private:
-       void find_routes(Track &, unsigned, unsigned, std::set<Track *> &);
+       void find_paths(Track &, unsigned, unsigned, std::set<Track *> &);
 
        static unsigned next_id;
 };
index 9eade4d5edd4bcc0c65e528a384a28536e4e65ee..7382404a0d10c248cb2ee6d2a6fad6a4870b368d 100644 (file)
@@ -16,10 +16,10 @@ struct Endpoint
 {
        Point pos;
        float dir;  // Direction outwards from the endpoint
-       unsigned routes;
+       unsigned paths;
 
-       Endpoint(): dir(0), routes(0) { }
-       Endpoint(float x, float y, float d, unsigned r): pos(x, y), dir(d), routes(r) { }
+       Endpoint(): dir(0), paths(0) { }
+       Endpoint(float x, float y, float d, unsigned p): pos(x, y), dir(d), paths(p) { }
 };
 
 } // namespace Marklin
index 9ec0d0aff852982cca868bd5399343bae3660a51..3a6b6302d56ebf806c442ce8f8c808fb903a5091 100644 (file)
@@ -108,14 +108,14 @@ void Layout::check_routes()
                const map<unsigned, int> turnouts = (*i)->get_turnouts();
 
                Track *track = 0;
-               unsigned trk_route = 0;
+               unsigned trk_path = 0;
                for(set<Track *>::const_iterator j=tracks.begin(); j!=tracks.end(); ++j)
                {
                        map<unsigned, int>::const_iterator k = turnouts.find((*j)->get_turnout_id());
                        if(k!=turnouts.end())
                        {
                                track = *j;
-                               trk_route = k->second;
+                               trk_path = k->second;
                                break;
                        }
                }
@@ -125,7 +125,7 @@ void Layout::check_routes()
                const vector<Endpoint> &eps = track->get_type().get_endpoints();
                unsigned ep = 0;
                for(unsigned j=0; j<eps.size(); ++i)
-                       if(eps[j].routes&(1<<trk_route))
+                       if(eps[j].paths&(1<<trk_path))
                        {
                                ep = j;
                                break;
@@ -134,22 +134,22 @@ void Layout::check_routes()
                Track *start = track;
                while(1)
                {
-                       int out_ep = track->traverse(ep, trk_route);
+                       int out_ep = track->traverse(ep, trk_path);
                        if(out_ep<0)
                                break;
                        Track *next = track->get_links()[out_ep];
                        if(!next || next == start)
                                break;
                        ep = next->get_endpoint_by_link(*track);
-                       if(next->get_type().get_n_routes()>1)
+                       if(next->get_type().get_n_paths()>1)
                        {
                                map<unsigned, int>::const_iterator j = turnouts.find(next->get_turnout_id());
                                if(j==turnouts.end())
                                        break;
-                               trk_route = j->second;
+                               trk_path = j->second;
                        }
                        else
-                               trk_route = 0;
+                               trk_path = 0;
                        (*i)->add_track(*next);
                        track = next;
                }
index 364509c8714d4b1aa94fc1340e3f4cbf993181ea..40638d9683051fd3fa4581b14f3d6458d89d4880 100644 (file)
@@ -100,21 +100,21 @@ void Route::update_turnouts()
                                if(unsigned tid2=links[j]->get_turnout_id())
                                {
                                        const Endpoint &ep = links[j]->get_type().get_endpoints()[links[j]->get_endpoint_by_link(**i)];
-                                       int r = get_turnout(tid2);
-                                       if(r>=0 && !(ep.routes&(1<<r)))
+                                       int p = get_turnout(tid2);
+                                       if(p>=0 && !(ep.paths&(1<<p)))
                                        {
-                                               mask &= ~endpoints[j].routes;
+                                               mask &= ~endpoints[j].paths;
                                                continue;
                                        }
                                }
-                               mask &= endpoints[j].routes;
+                               mask &= endpoints[j].paths;
                        }
 
                        if(!(mask&(mask-1)))
                        {
-                               unsigned route = 0;
-                               for(; (mask && !(mask&1)); mask>>=1, ++route) ;
-                               turnouts[tid] = route;
+                               unsigned path = 0;
+                               for(; (mask && !(mask&1)); mask>>=1, ++path) ;
+                               turnouts[tid] = path;
                        }
                        else
                                turnouts[tid] = -1;
@@ -144,7 +144,7 @@ unsigned Route::check_validity(const Track &trk) const
                                int r = get_turnout(tid);
                                if(r>=0)
                                {
-                                       if(endpoints[epi].routes&(1<<r))
+                                       if(endpoints[epi].paths&(1<<r))
                                                result |= 2;
                                }
                                else
@@ -161,7 +161,7 @@ unsigned Route::check_validity(const Track &trk) const
                                        if(count<=1)
                                        {
                                                result |= 2;
-                                               if(epj>=0 && !(endpoints[epi].routes&endpoints[epj].routes))
+                                               if(epj>=0 && !(endpoints[epi].paths&endpoints[epj].paths))
                                                        result &= 3;
                                        }
                                }
@@ -186,9 +186,9 @@ Route::Loader::Loader(Route &r):
        add("turnout", &Loader::turnout);
 }
 
-void Route::Loader::turnout(unsigned id, unsigned route)
+void Route::Loader::turnout(unsigned id, unsigned path)
 {
-       obj.turnouts[id] = route;
+       obj.turnouts[id] = path;
 }
 
 } // namespace Marklin
index 617328a64b7d24e474b39a50deae8e2f12dbda1b..d2822f61efacbf92d1af2bccb9a531b533dadc37 100644 (file)
@@ -223,7 +223,7 @@ Track *Track::get_link(unsigned i) const
        return links[i];
 }
 
-int Track::traverse(unsigned i, unsigned route) const
+int Track::traverse(unsigned i, unsigned path) const
 {
        const vector<Endpoint> &eps = type.get_endpoints();
        if(i>=eps.size())
@@ -231,25 +231,25 @@ int Track::traverse(unsigned i, unsigned route) const
 
        const Endpoint &ep = eps[i];
        
-       if(ep.routes&(1<<route))
+       if(ep.paths&(1<<path))
        {
-               // Find the other endpoint for this route
+               // Find the other endpoint for this path
                for(unsigned j=0; j<eps.size(); ++j)
-                       if((eps[j].routes&(1<<route)) && j!=i)
+                       if((eps[j].paths&(1<<path)) && j!=i)
                                return j;
        }
        else
        {
-               // Find an endpoint that's connected to this one and has the requested route
+               // Find an endpoint that's connected to this one and has the requested path
                for(unsigned j=0; j<eps.size(); ++j)
-                       if((eps[j].routes&(1<<route)) && (eps[j].routes&ep.routes))
+                       if((eps[j].paths&(1<<path)) && (eps[j].paths&ep.paths))
                                return j;
        }
 
        return -1;
 }
 
-Point Track::get_point(unsigned epi, unsigned route, float d) const
+Point Track::get_point(unsigned epi, unsigned path, float d) const
 {
        const vector<Endpoint> &eps = type.get_endpoints();
        if(epi>=eps.size())
@@ -264,7 +264,7 @@ Point Track::get_point(unsigned epi, unsigned route, float d) const
        {
                for(vector<TrackPart>::const_iterator i=parts.begin(); i!=parts.end(); ++i)
                {
-                       if((eps[epi].routes&(1<<route)) && i->route!=route)
+                       if((eps[epi].paths&(1<<path)) && i->path!=path)
                                continue;
                        if(&*i==last_part)
                                continue;
index 943832fff413577dc77eabdef5d7d16840d61dbc..f2b61be1f37f2050105d94f020d4347aeb1dd2dc 100644 (file)
@@ -16,13 +16,13 @@ TrackPart::TrackPart():
        dir(0),
        length(0),
        radius(0),
-       route(0),
+       path(0),
        dead_end(false)
 { }
 
 void TrackPart::collect_endpoints(vector<Endpoint> &eps) const
 {
-       eps.push_back(Endpoint(pos.x, pos.y, dir+M_PI, 1<<route));
+       eps.push_back(Endpoint(pos.x, pos.y, dir+M_PI, 1<<path));
 
        if(dead_end)
                ;
@@ -30,10 +30,10 @@ void TrackPart::collect_endpoints(vector<Endpoint> &eps) const
        {
                float a = ((radius<0) ? -length : length);
                Point p = get_point(length*abs(radius));
-               eps.push_back(Endpoint(p.x, p.y, dir+a, 1<<route));
+               eps.push_back(Endpoint(p.x, p.y, dir+a, 1<<path));
        }
        else
-               eps.push_back(Endpoint(pos.x+cos(dir)*length, pos.y+sin(dir)*length, dir, 1<<route));
+               eps.push_back(Endpoint(pos.x+cos(dir)*length, pos.y+sin(dir)*length, dir, 1<<path));
 }
 
 Point TrackPart::get_point(float d) const
@@ -58,7 +58,7 @@ TrackPart::Loader::Loader(TrackPart &p):
        add("start",    &Loader::start);
        add("length",   &TrackPart::length);
        add("radius",   &TrackPart::radius);
-       add("route",    &TrackPart::route);
+       add("path",     &TrackPart::path);
        add("dead_end", &TrackPart::dead_end);
 }
 
index 34605ca25461201781518d909aa533fd2cc832c5..0411d72ab3ee2d649851656dea18c6efd2dcb8a7 100644 (file)
@@ -29,7 +29,7 @@ struct TrackPart
        float dir;
        float length;
        float radius;
-       unsigned route;
+       unsigned path;
        bool dead_end;
 
        TrackPart();
index 692b5625f1335c59fbc594ae11b1816520916b0d..c6757cb221b12b9a206bdf6b0295f13fb835c789 100644 (file)
@@ -18,14 +18,14 @@ TrackType::TrackType(unsigned a):
 
 float TrackType::get_total_length() const
 {
-       return get_route_length(-1);
+       return get_path_length(-1);
 }
 
-float TrackType::get_route_length(int r) const
+float TrackType::get_path_length(int p) const
 {
        float len = 0;
        for(vector<TrackPart>::const_iterator i=parts.begin(); i!=parts.end(); ++i)
-               if(r<0 || i->route==static_cast<unsigned>(r))
+               if(p<0 || i->path==static_cast<unsigned>(p))
                {
                        float l = i->length;
                        if(i->radius)
@@ -35,12 +35,12 @@ float TrackType::get_route_length(int r) const
        return len;
 }
 
-unsigned TrackType::get_n_routes() const
+unsigned TrackType::get_n_paths() const
 {
        unsigned n = 1;
        for(vector<TrackPart>::const_iterator i=parts.begin(); i!=parts.end(); ++i)
-               if(i->route>=n)
-                       n = i->route+1;
+               if(i->path>=n)
+                       n = i->path+1;
        return n;
 }
 
@@ -67,7 +67,7 @@ void TrackType::collect_endpoints()
                                        da -= M_PI*2;
                                if(da<-3.1 || da>3.1)
                                        rm = true;
-                               i->routes |= j->routes;
+                               i->paths |= j->paths;
                                j = endpoints.erase(j);
                        }
                        else
index 65aa1f28d834942d9e8314c0e9a0dda554d6f7ed..45d8720bd4ae02da8d72f5fc299063017e8302ff 100644 (file)
@@ -39,8 +39,8 @@ public:
        unsigned get_article_number() const { return art_nr; }
        const std::string &get_description() const { return description; }
        float get_total_length() const;
-       float get_route_length(int) const;
-       unsigned get_n_routes() const;
+       float get_path_length(int) const;
+       unsigned get_n_paths() const;
        const std::vector<TrackPart> &get_parts() const { return parts; }
        const std::vector<Endpoint> &get_endpoints() const { return endpoints; }
 
index 96cb269aaf37b42c8e88c7f16ff09087e59b1c33..b652d04cc5eeddb483ae9eb6792b9725f9240ca6 100644 (file)
@@ -31,7 +31,7 @@ TrafficManager::TrafficManager(Control &c, Layout &l):
        for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
        {
                if(unsigned tid=(*i)->get_turnout_id())
-                       new Turnout(control, tid, (*i)->get_type().get_n_routes()>=3);
+                       new Turnout(control, tid, (*i)->get_type().get_n_paths()>=3);
                if(unsigned sid=(*i)->get_sensor_id())
                        if(!control.get_sensors().count(sid))
                                new Sensor(control, sid);
@@ -115,7 +115,7 @@ void TrafficManager::save(const string &fn) const
        }
 }
 
-void TrafficManager::turnout_route_changed(unsigned, Turnout *)
+void TrafficManager::turnout_path_changed(unsigned, Turnout *)
 {
 }
 
index 85381e0f4454bdb2f05ef3b47d78831c9abf607b..b01860af5d4fb774069d9211bd51f4caaa0327dc 100644 (file)
@@ -51,7 +51,7 @@ public:
        void tick();
        void save(const std::string &) const;
 private:
-       void turnout_route_changed(unsigned, Turnout *);
+       void turnout_path_changed(unsigned, Turnout *);
 };
 
 } // namespace Marklin
index 9300267331c4e0c1f68c086f014ce5696605467b..e904ebfc5f94b8152890c47c68a9b77cc4ebf189 100644 (file)
@@ -42,8 +42,8 @@ Train::Train(TrafficManager &tm, Locomotive &l):
        const map<unsigned, Turnout *> &turnouts = trfc_mgr.get_control().get_turnouts();
        for(map<unsigned, Turnout *>::const_iterator i=turnouts.begin(); i!=turnouts.end(); ++i)
        {
-               i->second->signal_route_changing.connect(sigc::bind(sigc::mem_fun(this, &Train::turnout_route_changing), i->second));
-               i->second->signal_route_changed.connect(sigc::bind(sigc::mem_fun(this, &Train::turnout_route_changed), i->second));
+               i->second->signal_path_changing.connect(sigc::bind(sigc::mem_fun(this, &Train::turnout_path_changing), i->second));
+               i->second->signal_path_changed.connect(sigc::bind(sigc::mem_fun(this, &Train::turnout_path_changed), i->second));
        }
 }
 
@@ -140,14 +140,14 @@ void Train::tick(const Time::TimeStamp &t, const Time::TimeDelta &dt)
 
        if(cur_track)
        {
-               unsigned route = 0;
+               unsigned path = 0;
                if(cur_track->get_turnout_id())
-                       route = trfc_mgr.get_control().get_turnout(cur_track->get_turnout_id()).get_route();
+                       path = trfc_mgr.get_control().get_turnout(cur_track->get_turnout_id()).get_path();
 
                offset += get_real_speed(loco.get_speed())*(dt/Time::sec);
-               if(offset>cur_track->get_type().get_route_length(route))
+               if(offset>cur_track->get_type().get_path_length(path))
                {
-                       int out = cur_track->traverse(cur_track_ep, route);
+                       int out = cur_track->traverse(cur_track_ep, path);
                        if(out>=0)
                        {
                                Track *next = cur_track->get_link(out);
@@ -161,7 +161,7 @@ void Train::tick(const Time::TimeStamp &t, const Time::TimeDelta &dt)
                }
 
                if(cur_track)
-                       pos = cur_track->get_point(cur_track_ep, route, offset);
+                       pos = cur_track->get_point(cur_track_ep, path, offset);
        }
 }
 
@@ -186,11 +186,11 @@ void Train::locomotive_reverse_changed(bool)
 
        if(cur_track)
        {
-               unsigned route = 0;
+               unsigned path = 0;
                if(unsigned turnout = cur_track->get_turnout_id())
-                       route = trfc_mgr.get_control().get_turnout(turnout).get_route();
-               cur_track_ep = cur_track->traverse(cur_track_ep, route);
-               offset = cur_track->get_type().get_route_length(route)-offset;
+                       path = trfc_mgr.get_control().get_turnout(turnout).get_path();
+               cur_track_ep = cur_track->traverse(cur_track_ep, path);
+               offset = cur_track->get_type().get_path_length(path)-offset;
        }
 }
 
@@ -259,7 +259,7 @@ void Train::sensor_event(bool state, Sensor *sensor)
        }
 }
 
-void Train::turnout_route_changing(unsigned, Turnout *turnout)
+void Train::turnout_path_changing(unsigned, Turnout *turnout)
 {
        unsigned tid = turnout->get_address();
        for(list<BlockRef>::const_iterator i=cur_blocks.begin(); i!=cur_blocks.end(); ++i)
@@ -280,7 +280,7 @@ void Train::turnout_route_changing(unsigned, Turnout *turnout)
        }
 }
 
-void Train::turnout_route_changed(unsigned, Turnout *turnout)
+void Train::turnout_path_changed(unsigned, Turnout *turnout)
 {
        unsigned tid = turnout->get_address();
        for(list<BlockRef>::iterator i=rsv_blocks.begin(); i!=rsv_blocks.end(); ++i)
index 65caa3f9fb245cf4c2ed47e8d71b214f03413e40..d4c7e186acd24b251d14e5680bcee5d7a8ca65e8 100644 (file)
@@ -90,8 +90,8 @@ public:
 private:
        void locomotive_reverse_changed(bool);
        void sensor_event(bool, Sensor *);
-       void turnout_route_changing(unsigned, Turnout *);
-       void turnout_route_changed(unsigned, Turnout *);
+       void turnout_path_changing(unsigned, Turnout *);
+       void turnout_path_changed(unsigned, Turnout *);
        unsigned reserve_more();
        void update_speed();
        float get_real_speed(unsigned) const;
index efa98bb5a7b5c49dd62800de0c878091fcda6747..d5f96179be74de4dc71f49129340f9f9bb05a06d 100644 (file)
@@ -20,7 +20,7 @@ namespace Marklin {
 Turnout::Turnout(Control &c, unsigned a, bool d):
        control(c),
        addr(a),
-       route(0),
+       path(0),
        dual(d)
 {
        control.add_turnout(*this);
@@ -39,27 +39,27 @@ Turnout::Turnout(Control &c, unsigned a, bool d):
        }
 }
 
-void Turnout::set_route(unsigned r)
+void Turnout::set_path(unsigned p)
 {
-       signal_route_changing.emit(r);
+       signal_path_changing.emit(p);
 
-       route = r;
+       path = p;
        command(true);
        control.set_timer(200*Time::msec).signal_timeout.connect(sigc::mem_fun(this, &Turnout::switch_timeout));
 
-       signal_route_changed.emit(route);
+       signal_path_changed.emit(path);
 }
 
 void Turnout::command(bool on)
 {
        unsigned char data[2];
        data[0] = addr&0xFF;
-       data[1] = ((addr>>8)&0x7) | (on ? 0x40 : 0) | (route&1 ? 0 : 0x80);
+       data[1] = ((addr>>8)&0x7) | (on ? 0x40 : 0) | (path&1 ? 0 : 0x80);
        control.command(CMD_TURNOUT, data, 2);
        if(dual)
        {
                data[0] = (addr+1)&0xFF;
-               data[1] = (((addr+1)>>8)&0x7) | (on ? 0x40 : 0) | (route&2 ? 0 : 0x80);
+               data[1] = (((addr+1)>>8)&0x7) | (on ? 0x40 : 0) | (path&2 ? 0 : 0x80);
                control.command(CMD_TURNOUT, data, 2);
        }
 }
@@ -70,8 +70,8 @@ void Turnout::status_reply(const Reply &reply, bool high)
        {
                bool v = !(reply.get_data()[0]&0x04);
                unsigned b = (high?2:1);
-               route = (route&~b)|(v?b:0);
-               signal_route_changed.emit(route);
+               path = (path&~b)|(v?b:0);
+               signal_path_changed.emit(path);
        }
 }
 
@@ -82,17 +82,17 @@ bool Turnout::switch_timeout()
        return false;
 }
 
-void Turnout::turnout_event(unsigned a, bool r)
+void Turnout::turnout_event(unsigned a, bool p)
 {
-       if(a==addr && r!=(route&1))
+       if(a==addr && p!=(path&1))
        {
-               route = (route&2)|(r?1:0);
-               signal_route_changed.emit(route);
+               path = (path&2)|(p?1:0);
+               signal_path_changed.emit(path);
        }
-       else if(dual && a==addr+1 && r!=((route>>1)&1))
+       else if(dual && a==addr+1 && p!=((path>>1)&1))
        {
-               route = (route&1)|(r?2:0);
-               signal_route_changed.emit(route);
+               path = (path&1)|(p?2:0);
+               signal_path_changed.emit(path);
        }
 }
 
index 279571499e5ce0c2bb3f4e2ba64b31167fa60b19..01d37377dd8603a695c16e8151b94562ea77aa88 100644 (file)
@@ -22,21 +22,21 @@ class Reply;
 class Turnout
 {
 public:
-       sigc::signal<void, unsigned> signal_route_changing;
-       sigc::signal<void, unsigned> signal_route_changed;
+       sigc::signal<void, unsigned> signal_path_changing;
+       sigc::signal<void, unsigned> signal_path_changed;
 
 private:
        Control &control;
        unsigned addr;
-       unsigned route;
+       unsigned path;
        bool dual;
 
 public:
        Turnout(Control &, unsigned, bool =false);
 
-       void set_route(unsigned);
+       void set_path(unsigned);
        unsigned get_address() const { return addr; }
-       unsigned get_route() const { return route; }
+       unsigned get_path() const { return path; }
 private:
        void command(bool);
        void status_reply(const Reply &, bool);
index b33e97bca2d8a8494df17ffeae9a5773ad85c998..5fb597f8766fb8a11eec5caa50575c1e2b15e746 100644 (file)
@@ -214,20 +214,20 @@ track 24671
        part
        {
                length 77.5;
-               route 0;
+               path 0;
        };
        part
        {
                start 77.5 0 0;
                length 30;
                radius 360;
-               route 0;
+               path 0;
        };
        part
        {
                length 30;
                radius 360;
-               route 1;
+               path 1;
        };
 };
 
@@ -237,20 +237,20 @@ track 24672
        part
        {
                length 77.5;
-               route 0;
+               path 0;
        };
        part
        {
                start 77.5 0 0;
                length 30;
                radius -360;
-               route 0;
+               path 0;
        };
        part
        {
                length 30;
                radius -360;
-               route 1;
+               path 1;
        };
 };
 
@@ -262,13 +262,13 @@ track 24611
        part
        {
                length 188.3;
-               route 0;
+               path 0;
        };
        part
        {
                length 24.3;
                radius 437.5;
-               route 1;
+               path 1;
        };
 };
 
@@ -278,13 +278,13 @@ track 24612
        part
        {
                length 188.3;
-               route 0;
+               path 0;
        };
        part
        {
                length 24.3;
                radius -437.5;
-               route 1;
+               path 1;
        };
 };
 
@@ -294,19 +294,19 @@ track 24630
        part
        {
                length 188.3;
-               route 0;
+               path 0;
        };
        part
        {
                length 24.3;
                radius 437.5;
-               route 1;
+               path 1;
        };
        part
        {
                length 24.3;
                radius -437.5;
-               route 2;
+               path 2;
        };
 };
 
@@ -343,13 +343,13 @@ track 24711
        part
        {
                length 236.1;
-               route 0;
+               path 0;
        };
        part
        {
                length 12.1;
                radius 1114.6;
-               route 1;
+               path 1;
        };
 };
 
@@ -359,13 +359,13 @@ track 24712
        part
        {
                length 236.1;
-               route 0;
+               path 0;
        };
        part
        {
                length 12.1;
                radius -1114.6;
-               route 1;
+               path 1;
        };
 };