/// <summary>
/// [ UnitDefinitionStruct ]
/// [[ Id , Name , [ UnitStruct ] ]]
/// </summary>
/// <param name="aSBMLmodel"></param>
/// <returns></returns>
public static List<UnitDefinitionStruct> getUnitDefinition(Model aSBMLmodel)
{
List<UnitDefinitionStruct> list = new List<UnitDefinitionStruct>();
ListOfUnitDefinitions listOfUnitDefinitions = aSBMLmodel.getListOfUnitDefinitions();
for (int i = 0; i < listOfUnitDefinitions.size(); i++ )
{
UnitDefinition anUnitDefinition = aSBMLmodel.getUnitDefinition(i);
string anId = anUnitDefinition.getId();
string aName = anUnitDefinition.getName();
List<UnitStruct> unitList = new List<UnitStruct>();
ListOfUnits listOfUnits = anUnitDefinition.getListOfUnits();
for (int j = 0; j < listOfUnits.size(); j++)
{
Unit anUnit = anUnitDefinition.getUnit(j);
int anUnitKind = anUnit.getKind();
string aKind = libsbml.libsbml.UnitKind_toString( anUnitKind );
int anExponent = anUnit.getExponent();
int aScale = anUnit.getScale();
double aMultiplier = anUnit.getMultiplier();
double anOffset = anUnit.getOffset();
UnitStruct unit = new UnitStruct(
aKind,
anExponent,
aScale,
aMultiplier,
anOffset );
unitList.Add( unit );
}
UnitDefinitionStruct unitDefinition = new UnitDefinitionStruct(
anId,
aName,
unitList );
list.Add(unitDefinition);
}
return list;
}