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. optimised for speed and low heap use

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.