Skip to content
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions chapters/annotations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1744,11 +1744,18 @@ \subsection{Connector Sizing}\label{connector-sizing}\annotationindex{connectorS

If \lstinline!connectorSizing = true!, a tool may set the variable value in a modifier automatically, if used as dimension size of a vector of connectors.
In that case the value modifier should not be edited directly by the user, and a tool may choose to not display that variable in the dialog or display it with disabled input field.
There shall be exactly one vector of connectors using the dimension size \lstinline!n! for each variable \lstinline!n! with \lstinline!connectorSizing = true!.
Other vectors of connectors that need to have the same size may use a different expression with the same value, such as \lstinline!n + 0!, to avoid that multiple vectors become associated with the \lstinline!connectorSizing! automatic updating of \lstinline!n!.
(Note that non-connector vectors may have size \lstinline!n! without becoming associated.)

\begin{nonnormative}
The \lstinline!connectorSizing! annotation is used in cases where connections to a vector of connectors shall be made and a new connection requires to resize the vector and to connect to the new index (unary connections).
The annotation allows a tool to perform these two actions in many cases automatically.
This is, e.g., very useful for state machines and for certain components of fluid libraries.

If there is not exactly one vector of connectors for a each variable \lstinline!n! with \lstinline!connectorSizing = true! diagnostics are needed, but the model may otherwise work.
If there are no vector of connectors for such a variable it should be removed.
Having multiple vector of connectors for such a variable will not work reliably for all graphical operations described below.
\end{nonnormative}

\begin{nonnormative}
Expand Down