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
inputsare 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