interfaces/CUSES.idl Source File

CUSES.idl
Go to the documentation of this file.
1 
10 #include "CellML_APISPEC.idl"
11 
15 module cellml_services
16 {
17  interface BaseUnit
19  {
23  readonly attribute wstring name;
24  };
25 
26  interface UserBaseUnit
27  : BaseUnit
28  {
32  readonly attribute cellml_api::Units cellmlUnits;
33  };
34 
41  interface BaseUnitInstance
43  {
47  readonly attribute BaseUnit unit;
48 
54  readonly attribute double prefix;
55 
59  readonly attribute double offset;
60 
64  readonly attribute double exponent;
65  };
66 
74  {
78  readonly attribute unsigned long length;
79 
88  BaseUnitInstance fetchBaseUnit(in unsigned long index)
90 
101  boolean compatibleWith(in CanonicalUnitRepresentation aCompareWith);
102 
112  double convertUnits(in CanonicalUnitRepresentation aConvertTo,
113  out double offset);
114 
124  double siConversion(out double offset);
125 
132  void addBaseUnit(in BaseUnitInstance baseUnit);
133 
148  CanonicalUnitRepresentation mergeWith(in double thisExponent,
150  in double otherExponent)
152  };
153 
157  interface CUSES
159  {
168  readonly attribute wstring modelError;
169 
181  CanonicalUnitRepresentation getUnitsByName(in cellml_api::CellMLElement aContext,
182  in wstring aName);
183 
189  CanonicalUnitRepresentation createEmptyUnits();
190  };
191 
192  interface CUSESBootstrap
194  {
206  CUSES createCUSESForModel(in cellml_api::Model aModel, in boolean aStrict);
207  };
208 };