- if(check_train_direction)
- {
- int train_entry = train->get_entry_to_block(*block);
- if(train_entry>=0 && static_cast<unsigned>(train_entry)==entry)
- {
- if(train_conn)
- train_conn.disconnect();
- train_conn = train->signal_advanced.connect(sigc::mem_fun(this, &Signal::train_advanced));
- }
- check_train_direction = false;
- check_allocated_blocks = true;
- }
+ return 1;
+}
+
+Snap Signal::get_snap_node(unsigned i) const
+{
+ if(i>=1)
+ throw out_of_range("Signal::get_snap_node");
+
+ Snap sn;
+ sn.position = position;
+ sn.rotation = rotation;
+ return sn;
+}