/home/andrew/Documents/cellml-api-doxygen/interfaces/CUSES.idl Source File

CUSES.idl
Go to the documentation of this file.
1 #include "CellML_APISPEC.idl"
2 
11 module cellml_services
12 {
13  interface BaseUnit
15  {
19  readonly attribute wstring name;
20  };
21 
22  interface UserBaseUnit
23  : BaseUnit
24  {
28  readonly attribute cellml_api::Units cellmlUnits;
29  };
30 
37  interface BaseUnitInstance
39  {
43  readonly attribute BaseUnit unit;
44 
50  readonly attribute double prefix;
51 
55  readonly attribute double offset;
56 
60  readonly attribute double exponent;
61  };
62 
70  {
74  readonly attribute unsigned long length;
75 
84  BaseUnitInstance fetchBaseUnit(in unsigned long index)
86 
97  boolean compatibleWith(in CanonicalUnitRepresentation aCompareWith);
98 
108  double convertUnits(in CanonicalUnitRepresentation aConvertTo,
109  out double offset);
110 
120  double siConversion(out double offset);
121 
128  void addBaseUnit(in BaseUnitInstance baseUnit);
129 
144  CanonicalUnitRepresentation mergeWith(in double thisExponent,
146  in double otherExponent)
148  };
149 
153  interface CUSES
155  {
164  readonly attribute wstring modelError;
165 
177  CanonicalUnitRepresentation getUnitsByName(in cellml_api::CellMLElement aContext,
178  in wstring aName);
179 
185  CanonicalUnitRepresentation createEmptyUnits();
186  };
187 
188  interface CUSESBootstrap
190  {
202  CUSES createCUSESForModel(in cellml_api::Model aModel, in boolean aStrict);
203  };
204 };