fusionsc.resolve

Resolution helpers to obtain computable fields and geometries from high-level descriptions

This module maintains a list of active resolvers, which inspect specifications of coils, fields, and geometries and replace them with concrete specifications that the geometry builder and field calculators can actively interpret.

The list is maintained in a context variable. Any changes made will be restricted to the active context (and dependent contexts).

Functions

addFieldResolvers(resolvers)

Adds a resolvers at the end of the currently active list

addGeometryResolvers(resolvers)

Adds geometry resolvers at the end of the currently active list

connectWarehouse(db)

Connects to a warehouse to use for resolution.

createOfflineData(data)

Creates an offline data structure from a key-value mapping of geometries, fields, and coils.

fieldResolvers()

Returns the currently active field / coil resolvers

geometryResolvers()

Returns the currently active geometry resolvers

importOfflineData(filenameOrData)

Loads the data contained in the given offline archives and uses them to perform offline resolution.

reset()

Resets the resolver state to default

resolveField(field[, followRefs])

Processes the field one by one by active resolvers Note Has asynchronous variant '.asnc(...)' that returns Promise[...]

resolveFilament(filament[, followRefs])

Processes the filament one by one by active resolvers Note Has asynchronous variant '.asnc(...)' that returns Promise[...]

resolveGeometry(geometry[, followRefs])

Processes the field one by one by active resolvers Note Has asynchronous variant '.asnc(...)' that returns Promise[...]

updateOfflineData(offlineData, updates)

Updates an offline data structure with the data contained in another.

updateWarehouse(db, updates)

Updates the contents of a warehouse to be used for data resolution

Functions

fusionsc.resolve.addFieldResolvers(resolvers)

Adds a resolvers at the end of the currently active list

fusionsc.resolve.addGeometryResolvers(resolvers)

Adds geometry resolvers at the end of the currently active list

fusionsc.resolve.connectWarehouse(db)

Connects to a warehouse to use for resolution. This will perform the following steps:

  • If db is a string, opens the corresponding database (see fusionsc.warehouse.open())

  • Looks up the entry ‘resolveIndex’ under the database root and opens it as a DataRef to a service.OfflineData object.

  • Connects resolvers looking up nodes in this object.

fusionsc.resolve.createOfflineData(data: dict)

Creates an offline data structure from a key-value mapping of geometries, fields, and coils.

fusionsc.resolve.fieldResolvers()

Returns the currently active field / coil resolvers

fusionsc.resolve.geometryResolvers()

Returns the currently active geometry resolvers

fusionsc.resolve.importOfflineData(filenameOrData: str | dict | ReaderOrBuilder)

Loads the data contained in the given offline archives and uses them to perform offline resolution. Alternatively can

fusionsc.resolve.reset()

Resets the resolver state to default

fusionsc.resolve.resolveField(field: ReaderOrBuilder, followRefs: bool = False) Reader

Processes the field one by one by active resolvers Note Has asynchronous variant ‘.asnc(…)’ that returns Promise[…]

fusionsc.resolve.resolveFilament(filament: ReaderOrBuilder, followRefs: bool = False) Reader

Processes the filament one by one by active resolvers Note Has asynchronous variant ‘.asnc(…)’ that returns Promise[…]

fusionsc.resolve.resolveGeometry(geometry: ReaderOrBuilder, followRefs: bool = False) Reader

Processes the field one by one by active resolvers Note Has asynchronous variant ‘.asnc(…)’ that returns Promise[…]

fusionsc.resolve.updateOfflineData(offlineData, updates)

Updates an offline data structure with the data contained in another.

fusionsc.resolve.updateWarehouse(db, updates) Any

Updates the contents of a warehouse to be used for data resolution

Note Has asynchronous variant ‘.asnc(…)’ that returns Promise[…]