nflow_reroute(sys)
nflow_reroute(sys, width)
nflow_reroute(sys, width, height)
| Paramètre | Description |
|---|---|
| sys | une chaîne : nom d'un modèle chargé ('modele') pour tracer les fils de son diagramme racine, ou chemin d'un sous-système ('modele/Sub', 'modele/Sub/Inner') pour tracer ceux de ce sous-système ; ou un handle numérique de modèle. |
| width | un scalaire : largeur de la zone de tracé, en unités du diagramme. Par défaut : 4000. |
| height | un scalaire : hauteur de la zone de tracé, en unités du diagramme. Par défaut : 4000. |
nflow_reroute calcule un nouveau tracé pour chaque connexion d'un (sous-)système et l'enregistre sur la connexion sous forme de liste de points de passage. Les tracés sont orthogonaux et contournent les blocs, du port de sortie au port d'entrée.
Les blocs ne bougent pas : appelez d'abord nflow_layout pour les disposer, puis nflow_reroute pour tracer les fils selon les nouvelles positions. La position des ports est estimée à partir du nombre de ports déclaré par chaque type de bloc.
Seul le niveau ciblé est tracé : appelez nflow_reroute sur le chemin de chaque sous-système pour le tracer aussi. Seule la géométrie des fils change, le résultat de simulation ne change donc pas.
Le modèle doit être chargé (new_system ou load_system). Un chemin de sous-système inconnu, ou un échec du tracé, provoque une erreur. Le modèle est marqué comme modifié ; utilisez save_system pour conserver les tracés.
new_system('demo');
add_block('nflow/source/sine', 'demo/S');
add_block('nflow/math/gain', 'demo/G', 'Gain', 2);
add_line('demo', 'S/1', 'G/1');
nflow_layout('demo');
nflow_reroute('demo');
f = [tempname(), '.nflow'];
save_system('demo', f);
m = jsondecode(fileread(f));
w = m.connections(1).waypoints;
[[w.x]', [w.y]']
bdclose('demo');
rmfile(f);
| Version | Description |
|---|---|
| 1.0.0 | version initiale |