Purpose

Creates a cost graph based on the given input XMarkerList. Each possible pair of markers is evaluated based on the connected edge cost plugin. According to filter criteria, certain pairs are rejected. The remaining pairs are added as edges to the cost map. The cost for the edge is computed by the edge cost plugin. The output cost graph contains a boost graph (adjacency list) and can be used by BoostCostMapShortestPath.

Usage

Connect the XMarkerList to inXMarkerList. Select and connect a suited edge cost plugin (e.g. CostGraphEdgeLengthCostPlugin, CostGraphGenericCostPlugin) to inCostPlugin and connect the output to a CostGraphCheapestPath module.

Details

The complexity of the computations carried out by this module is O(n^2) where n is the number of markers in the input XMarkerList. It also depends on the implementation of the used cost plugin. However, it has to be updated only once. The plugin modules typically have no update mechanism. Any change in their fields is treated by this modules like a change of its own fields.

Windows

Default Panel

../../../Projects/MLCostGraph/Modules/mhelp/Images/Screenshots/XMarkerListToCostGraph._default.png

Input Fields

inXMarkerList

name: inXMarkerList, type: MLBase

Base field containing an input XMarker list.

inCostPlugin

name: inCostPlugin, type: MLBase

ShortestPathCostsPlugin module for edge cost computation

Output Fields

outCostGraph

name: outCostGraph, type: MLBase

Base field containing the output boost graph.

Parameter Fields

Field Index

[]: Trigger Status Message: String
Clear: Trigger Update: Trigger
doNotClearOnFailedUpdate: Bool  
Has Valid Output: Bool  
Number of Edges: Integer  
Number of Vertices: Integer  
On Input Change Behavior: Enum  
Status Code: Enum  

Visible Fields

Update

name: update, type: Trigger

Initiates update of all output field values.

Clear

name: clear, type: Trigger

Clears all output field values to a clean initial state.

On Input Change Behavior

name: onInputChangeBehavior, type: Enum, default: Clear, deprecated name: shouldUpdateAutomatically,shouldAutoUpdate

Declares how the module should react if a value of an input field changes.

Values:

Title Name Deprecated Name
Update Update TRUE
Clear Clear FALSE

Status Code

name: statusCode, type: Enum, persistent: no

Reflects module’s status (successful or failed computations) as one of some predefined enumeration values.

Values:

Title Name
Ok Ok
Invalid input object Invalid input object
Invalid input parameter Invalid input parameter
Internal error Internal error

Status Message

name: statusMessage, type: String, persistent: no

Gives additional, detailed information about status code as human-readable message.

Has Valid Output

name: hasValidOutput, type: Bool, persistent: no

Indicates validity of output field values (success of computation).

[]

name: updateDone, type: Trigger, persistent: no

Notifies that an update was performed (Check status interface fields to identify success or failure).

Number of Vertices

name: outNumVertices, type: Integer, persistent: no

Number of vertices in the resulting cost map.

Number of Edges

name: outNumEdges, type: Integer, persistent: no

Number of edges in the resulting cost map.

Hidden Fields

doNotClearOnFailedUpdate

name: doNotClearOnFailedUpdate, type: Bool, persistent: no

Prevents automated clear after update failed. This does not affect status fields. It enables the developer to analyze module’s state after failure.