XMarkerShortestPath

MLModule
genre Marker
author Ola Friman
package FMEwork/ReleaseMeVis
dll MLXMarkerUtils
definition MLXMarkerUtils.def
see also TravelingSalesman
keywords dijkstra, marker, xmarker, shortest, optimal, path, route

Purpose

The module XMarkerShortestPath performs a Dijsktra shortest path search on a graph where the vertices are defined by the XMarkers in an XMarkerList.

Details

The XMarkers in the input XMarkerList are used as vertices in a graph. The vertices are connected with edges if the spatial distances between the corresponding XMarkers lie between the max and min connection distances.

A weight equal to the squared spatial distance between the corresponding XMarkers is attached to each edge. The squared distance is chosen as weight to favor jumps between neighboring XMarkers and discourage larger jumps (i.e., it becomes cheaper to take two smaller steps than one large step).

The XMarkers closest to the given start and end points are supplied to a Dijkstra shortest path search and the output is an XMarkerList containing the XMarkers along the shortest path (ordered from start XMarker to end XMarker).

Windows

Default Panel

../../../Modules/ML/MLXMarkerUtils/mhelp/Images/Screenshots/XMarkerShortestPath._default.png

Input Fields

inputXMarkerList

name: inputXMarkerList, type: MLBase

Output Fields

outputXMarkerList

name: outputXMarkerList, type: MLBase

Parameter Fields

Field Index

Add end point to list: Bool Update: Trigger
Add start point to list: Bool  
Auto update: Bool  
Distance Exponent: Double  
End Point: Vector3  
Max Connection Distance: Float  
Min Connection Distance: Float  
Start Point: Vector3  

Visible Fields

Update

name: updateButton, type: Trigger

If pressed, the module computes anew.

Auto update

name: autoUpdateToggle, type: Bool, default: FALSE

If checked, the module computes anew on any parameter or input change.

Start Point

name: startPoint, type: Vector3, default: 0 0 0

Sets the starting point for the search for the shortest path.

End Point

name: endPoint, type: Vector3, default: 0 0 0

Sets the ending point for the search for the shortest path.

Min Connection Distance

name: minConnectionDistance, type: Float, default: 0

Sets the minimum distance for computing neighboring markers.

Max Connection Distance

name: maxConnectionDistance, type: Float, default: 5

Sets the maximum distance for computing neighboring markers.

Distance Exponent

name: distanceExponent, type: Double, default: 1

Sets an explicit exponent for computing the distance weight.

Add end point to list

name: insertEndPoint, type: Bool, default: FALSE

If checked, the ending point is added as an XMarker to the list.

Add start point to list

name: insertStartPoint, type: Bool, default: FALSE

If checked, the starting point is added as an XMarker to the list.