Skip to content

Commit

Permalink
Make conversion example clearer.
Browse files Browse the repository at this point in the history
  • Loading branch information
HansOlsson committed Jan 20, 2022
1 parent 25e70bc commit 748c932
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions chapters/annotations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1747,13 +1747,12 @@ \subsubsection{Conversion rules}\label{conversion-rules}
{"y0=0", "k1=0", "k2=0"}, {"y0=%y0%", "k1=%y0%*%k1%", "k2=%y0%*%k2%"},
true);
convertClass(
"Modelica.Electrical.Machines.BasicMachines.QuasiStationaryDCMachines",
"Modelica.Electrical.Machines.BasicMachines.QuasiStaticDCMachines");
convertElement("Modelica.Electrical.Machines.Interfaces.PartialBasicDCMachine",
"quasiStationary", "quasiStatic");
convertElement("Modelica.Electrical.Machines.BasicMachines." +
"QuasiStationaryDCMachines.DC_ElectricalExcited",
"quasiStationary", "quasiStatic");
"My.Library.Pakkage",
"My.Library.Package");
convertElement("MyLibrary.Pakkage.PartialBase",
"bad", "corr.ect");
convertElement("My.Library.Pakkage.ActualClass",
"bad", "correct");
\end{lstlisting}
converts
\begin{lstlisting}[language=modelica]
Expand All @@ -1762,12 +1761,12 @@ \subsubsection{Conversion rules}\label{conversion-rules}
Value = 10, hideConnector = true);
Modelica.Blocks.Math.LinearDependency linearDep(y0 = 2, k2 = 1);
model A
import Modelica.Electrical.Machines.BasicMachines;
extends BasicMachines.QuasiStationaryDCMachines.DC_ElectricalExcited;
import My.Library;
extends Library.Pakkage.ActualClass;
end A;
model B
extends A;
Boolean b = quasiStationary;
Boolean b = bad;
end B;
\end{lstlisting}
to
Expand All @@ -1777,16 +1776,17 @@ \subsubsection{Conversion rules}\label{conversion-rules}
number = 10, use_numberPort = not true);
Modelica.Blocks.Math.LinearDependency linearDep(y0 = 2, k1 = 0, k2 = 2);
model A
import Modelica.Electrical.Machines.BasicMachines;
extends BasicMachines.QuasiStaticDCMachines.DC_ElectricalExcited;
import My.Library;
extends Library.Package.ActualClass;
end A;
model B
extends A;
Boolean b = a.quasiStatic;
Boolean b = correct;
end B;
\end{lstlisting}
The \lstinline!convertElement! call for \lstinline!DC_ElectricalExcited! is needed to avoid relying on base classes in the original library where \lstinline!DC_ElectricalExcited! inherits from \lstinline!PartialBasicDCMachine!.
The \lstinline!convertElement! call for \lstinline!ActualClass! is needed to avoid relying on base classes in the original library where \lstinline!ActualClass! inherits from \lstinline!PartialBase!.
However, the inheritance among the models to convert (in this case \lstinline!B! inherits from \lstinline!A!) should be handled.
Note that conversion works regardless of the import of \lstinline!My.Library!.
\end{example}

\paragraph*{convertMessage("OldClass", "Failed Message")}\label{convertmessageoldclass-failed-message}\annotationindex{convertMessage}
Expand Down

0 comments on commit 748c932

Please sign in to comment.