Header menu logo issie

BusWireUpdate Module

Functions and values

Function or value Description

calculateBusWidths model

Full Usage: calculateBusWidths model

Parameters:
Returns: Model * Msg option
model : Model
Returns: Model * Msg option

dragSegment wire index mMsg model

Full Usage: dragSegment wire index mMsg model

Parameters:
Returns: Model
wire : Wire
index : int
mMsg : MouseT
model : Model
Returns: Model

getClickedWire wModel pos n

Full Usage: getClickedWire wModel pos n

Parameters:
Returns: Option<ConnectionId>

Searches if the position of the cursor is on a wire in a model, where n is 5 pixels adjusted for top level zoom. If there are multiple hits retrn the closest.

wModel : Model
pos : XYPos
n : float
Returns: Option<ConnectionId>

getIntersectingWires wModel selectBox

Full Usage: getIntersectingWires wModel selectBox

Parameters:
Returns: (ConnectionId * float) list

Returns a list of wire IDs in the model that intersect the given selectBox the wires are sorted by closeness to the centre of the box.

wModel : Model
selectBox : BoundingBox
Returns: (ConnectionId * float) list

init ()

Full Usage: init ()

Parameters:
    () : unit

Returns: Model * Cmd<'a>

Initialises an empty BusWire Model

() : unit
Returns: Model * Cmd<'a>

newWire inputId outputId model

Full Usage: newWire inputId outputId model

Parameters:
Returns: Model * Msg option
inputId : InputPortId
outputId : OutputPortId
model : Model
Returns: Model * Msg option

pasteWires wModel newCompIds

Full Usage: pasteWires wModel newCompIds

Parameters:
Returns: Model * ConnectionId list

Updates the model to have new wires between pasted components

wModel : Model
newCompIds : ComponentId list
Returns: Model * ConnectionId list

update msg issieModel

Full Usage: update msg issieModel

Parameters:
Returns: Model * Cmd<Msg>

Handles messages

msg : Msg
issieModel : Model
Returns: Model * Cmd<Msg>

wireIntersectsBoundingBox wire box

Full Usage: wireIntersectsBoundingBox wire box

Parameters:
Returns: float option

Checks if a wire intersects a bounding box by checking if any of its segments intersect returns some of distance to wire, if wire does intersect

wire : Wire
box : BoundingBox
Returns: float option

Type something to start searching.