User Tools

Site Tools


finder:finder-en

Differences

This shows you the differences between two versions of the page.


finder:finder-en [2024/12/21 08:21] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== The Finder ======
 +[[:english#rocrail|{{  :server.png}}]][[:english|{{  :rocrail-logo-35.png}}]]
 +[[:english | Content ]] -> [[:english#rocrail|Rocrail Server]] -> [[:rocrailini-en | Configuration]] 
 +  * [[:rocrailini-gen-en|General]] | [[:rocrailini-trace-en|Trace]] | [[:rocrailini-service-en|Service]] | [[:rocrailini-automode-en|Automatic]] | [[:rocrailini-controller-en|Controller]] | [[:networking-en|R2Rnet]] | [[:rocrailini-rocweb-en|SVG]] | **[[:finder:finder-en|Finder]]** | [[:rocrailini-cmdmapping-en|Command Mapping]]
 + \\
 +{{:finder:finder.png}}\\
 + \\
 +=====Introduction=====
 +The Finder can be used to find a path from one __**[[:block-en|Block]]**__ to another or to a __**[[:locations-def-en|Location]]**__.\\
 +This function must be enabled with __**[[#use_finder_for_destination_path|Use Finder for destination path]]**__ or in the __**[[:rocrailini-automode-en#use_finder_for_destination_path|Rocrail Automode Properties]]**__ \\
 +The Finder will be active after setting a __**[[:automatic-en#running_to_a_defined_destination|Destination]]**__ in case there is no direct route available. \\
  
 + \\
 +
 +=====How it works=====
 +After activating, by setting a destination, the Finder will try to find a path to it by recursively iterate through all __**[[:route-en|Routes]]**__.\\
 +More then one path can be found depending of the complexity of the layout.\\
 +The path will be converted into a temporary schedule which will be activated for the selected Loco.\\
 +The new schedule will have a "F" prefix in the table and will be removed at the end of the Rocrail Server session if not modified before with the __**[[:schedules-index-en|Schedule Dialog]]**__.\\
 +Example of a schedule name created by the Finder: //**F[-1-staging]**// \\
 +If already an "F" schedule exist for the wanted path it will be used instead of generating it again.\\ 
 +
 +====Limitations====
 +  * To avoid looping and using too much CPU resources the max. recursive depth is set to the number of available Routes.
 +  * The search will stop if the max. depth has been reach more then the available number routes.
 +  * Routes which needs a direction change will be skipped.
 +
 + \\
 +
 +=====Requirements=====
 +  * The layout must be healthy: __**[[:router-en|Router]]**__
 +
 + \\
 +=====Settings=====
 +{{:finder:finder-en.png?800}}\\
 +
 +====Use Finder for destination path====
 +See: __**[[:rocrailini-automode-en#use_finder_for_destination_path|Use Finder for destination path]]**__\\
 +====Path====
 +If more than one path has been found the following options can be used for selecting one: \\
 +===Shortest===
 +Select the shortest found path.\\
 +**Note:** //The [[:route-gen-en#preferred|Route preference]] is used to select a shortest path in case of multiple possibilities.//\\
 +===Longest===
 +Select the longest found path.\\
 +===Direct===
 +Only a direct route will be used to generate a schedule.(Rocrail version 2.1.2903+) \\
 +===Preferred===
 +Select the most __**[[:route-gen-en#preferred|Preferred]]**__ path.\\
 +**Note:** //If there are only routes with preferred set to zero this option will not find any path.//\\
 + \\
 +====Options====
 +===Find alternative paths===
 +| [[:supportkey-en|{{:icons:key.png}}]] //This option can only be used if a valid __**[[:supportkey-en|Support Key]]**__ is provided.// |
 +If __not__ enabled, or no valid support key, the finder will stop after the first path that has been found. Depending on how the layout is designed this could be a (big) detour.\\
 +The max. number of alternative paths can be set. The default is 10 which normally will do. Increasing this number can cause more CPU usage without any better paths found. __But in case of layouts with many routes, this number should be increased to be able to find the shortest way.__\\ 
 +This number of alternative paths is also restricted by the number of routes.\\
 +
 +===Max. recursive===
 +Limits the number of repetitions when searching for paths.
 +  * **Note:** If no suitable path is found, the value of the max. recursive may need to be increased.\\
 +
 +===Find alternative direct paths===
 +Search for more short direct paths.\\ This option is required incase the Finder usages is "Preferred".\\
 +
 +===Regular stop===
 +All schedule entries will get the __**[[:schedules-dest-en#regular_stop|Regular stop]]**__ option.\\
 +
 +===Temporary schedules===
 +The generated schedules will be removed at shutdown.\\
 +__This is default and highly recommended!__ Changing routes can make Finder schedules invalid and can lead to deadlocks.\\
 +
 +===Check permissions===
 +Check if the loco has permission to use routes and blocks.\\
 +
 +===Check destination permissions===
 +Check if the loco has permission to use routes running to the destination block and of the destination block itself.\\
 +
 +===Avoid occupied blocks===
 +Avoid occupied blocks to find a path.\\
 +Depending on the block occupancy and layout the find result could be zero.\\
 +
 +===Avoid occupied routes===
 +Avoid occupied routes to find a path.\\
 +Depending on the route occupancy and layout the find result could be zero.\\
 +
 +===Use locations===
 +Use block locations in the generated schedule.\\
 +If the option is __not__ activated, the finder creates a "block-by-block schedule" to the destination according to the other options.\\
 +If this option is activated, it is checked whether the blocks are in a location. In these cases, the location is entered instead of the block.\\
 +If not all blocks in a location leads to the same follow-up block/location this will end the schedule.\\
 +
 +===Destination===
 +If this option is active (default), the "Use locations" option also applies to the destination.\\
 +This option must be deactivated if an defined block is to be used in the destination instead of an existing location.\\
 +
 +===Avoid terminal blocks for none commuter trains===
 +If a train is allowed to enter a terminal block this could be a dead end.\\
 +Use this option to avoid running into terminal stations.\\
 +
 +===Update schedules===
 +If a schedule already exist it will be updated to meet the actual permissions.\\
 +This option is recommended to avoid running into occupied blocks.\\
 +
 +===Reserve destination===
 +The destination block will be reserved.\\
 +Do not use incase the destination is a location.\\
 +
 +=== Start only with a schedule after DnD ===
 +If no path is found this option will prevent starting the loco after using Drag and Drop.\\
 +
 +=== Depart side ===
 +Set the __**[[:schedules-dest-en#depart_side1|Depart Side]]**__ of the schedule destinations.\\
 + \\
 +=====Home=====
 +{{:finder:home.png}} Menu -> Automatic -> Home location\\
 +With the home action all locomotives with a __**[[:loc-gen-en#home_location|Home location]]**__ set, and which are not already at the home location, will get a command to run to the home location.\\
 +The Finder will be used to find a path to the Home location.\\