Engine Graph
- class eagerx.core.graph_engine.EngineGraph(state)[source]
-
- add_component(entry)[source]
Selects an available component entry (e.g. input, output, etc…) that was not already selected.
- Parameters
entry (
SpecView
) – Selects the entry, so that it can be connected.- Return type
None
- connect(source=None, target=None, actuator=None, sensor=None, window=None, delay=None, skip=None)[source]
Connect an actuator/source to a sensor/target.
- Parameters
source (
Optional
[SpecView
]) – Compatible source type isoutputs
.target (
Optional
[SpecView
]) – Compatible target type isinputs
.actuator (
Optional
[str
]) – String name of the actuator.sensor (
Optional
[str
]) – String name of the sensor.window (
Optional
[int
]) –A non-negative number that specifies the number of messages to pass to the node’s
callback()
.window = 1: Only the last received input message.
window = x > 1: The trailing last x received input messages.
window = 0: All input messages received since the last call to the node’s
callback()
.
Note
With window = 0, the number of input messages may vary and can even be zero.
delay (
Optional
[float
]) – A non-negative simulated delay (seconds). This delay is ignored ifsimulate_delays
= True in the engine’sspec()
.skip (
Optional
[bool
]) – Skip the dependency on this input during the first call to the node’scallback()
. May be necessary to ensure that the connected graph is directed and acyclic.
- Return type
None
- disconnect(source=None, target=None, actuator=None, sensor=None)[source]
Disconnect an actuator/source from a sensor/target.
- get(entry=None, actuator=None, sensor=None, parameter=None)[source]
Fetches the parameters of a node/actuator/sensor.
- Parameters
entry (
Union
[SpecView
,EntitySpec
,None
]) – The entry whose parameters are fetched.actuator (
Optional
[str
]) – Actuator name whose parameters are fetched.sensor (
Optional
[str
]) – Sensor name whose parameters are fetched.parameter (
Optional
[str
]) – If only a single parameter needs to be fetched.
- Return type
Any
- Returns
Parameters
- get_spec(name)[source]
Get Spec from the graph
- Parameters
name (
str
) – Name- Return type
- Returns
The specification of the entity.
- gui(interactive=True, resolution=None, filename=None)[source]
Opens a graphical user interface of the graph.
Note
Requires eagerx-gui:
pip3 install eagerx-gui
- Parameters
interactive (
Optional
[bool
]) – If True, an interactive application is launched. Otherwise, an RGB render of the GUI is returned. This could be useful when using a headless machine.resolution (
Optional
[List
[int
]]) – Specifies the resolution of the returned render when interactive is False. If interactive is True, this argument is ignored.filename (
Optional
[str
]) – If provided, the GUI is rendered to an svg file with this name. If interactive is True, this argument is ignored.
- Return type
Optional
[ndarray
]- Returns
RGB render of the GUI if interactive is False.
- is_valid(plot=True)[source]
Checks the validity of the graph.
Checks if all selected
inputs
are connected.Checks if the graph is directed and acyclic.
- Parameters
plot – Flag to plot the graph. Can be helpful to identify cycles in the graph that break the required acyclic property.
- Return type
bool
- Returns
flag that specifies the validity of the graph.
- register()[source]
Returns the nodes that make up this subgraph, and their relation to the registered actuators and sensors.
- remove(names)[source]
Removes a node from the graph.
First, all associated connections are disconnected.
Then, removes the nodes/objects.
- Parameters
names (
Union
[str
,EntitySpec
,List
[Union
[str
,EntitySpec
]]]) – Either the name or spec of the node/object that is to be removed.- Return type
None
- remove_component(entry)[source]
Deselects a component entry (e.g. input, output, etc…) that was selected.
First, all associated connections are disconnected.
Then, deselects the component entry.
- Parameters
entry (
SpecView
) – Deselects the entry.- Return type
None
- set(mapping, entry, parameter=None)[source]
Sets the parameters of a node.
- Parameters
mapping (
Any
) – Either a mapping with key = parameter, or a single value that corresponds to the optional parameter argument.entry (
Optional
[SpecView
]) – The entry whose parameters are mutated.parameter (
Optional
[str
]) – If only a single value needs to be set. See documentation for mapping.
- Return type
None