Skip to content
Open
Changes from 4 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 a variable \lstinline!n! with \lstinline!connectorSizing = true! does not have exactly one associated vector of connectors, a diagnostic is recommended.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that the normative text says shall, I think this non-normative paragraph would make more sense without the recommendation to give diagnostics, leaving it to tools to figure out their own ways of dealing with misuse of the annotation.

Github doesn't let me comment on the entire paragraph of three lines, but this suggestion is meant to replace the entire paragraph:

If a variable \lstinline!n! with \lstinline!connectorSizing = true! has multiple associated vectors of connectors, some of the graphical operations described below will not work reliably.
If there is no associated vector of connectors, the user may choose to address this by removing the \lstinline!connectorSizing! annotation.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have now added with slight modification.

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