Point epp2 = other.get_endpoint_position(j);
float dx = epp2.x-epp.x;
float dy = epp2.y-epp.y;
- if(dx*dx+dy*dy<limit)
+ float dz = epp2.z-epp.z;
+ if(dx*dx+dy*dy<limit && dz*dz<4e-4)
{
if(!link || (!flex && !other.get_flex()))
{
active_path = (active_path&2) | (state ? 1 : 0);
else if(type.is_double_address() && addr==turnout_id+1)
active_path = (active_path&1) | (state ? 2 : 0);
+ else
+ return;
+
+ signal_path_changed.emit(active_path);
}