コード例 #1
0
ファイル: FileLoader.cs プロジェクト: CyberCRI/DsynBio
    public LinkedList<MoleculesSet> loadMoleculesFromFile(TextAsset filePath)
    {
        bool b = true;
        MoleculesSet moleculeSet;
        string setId;
        LinkedList<MoleculesSet> moleculesSets = new LinkedList<MoleculesSet>();

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(filePath.text);
        XmlNodeList moleculesLists = xmlDoc.GetElementsByTagName("molecules");
        foreach (XmlNode moleculesNode in moleculesLists)
          {
        setId = moleculesNode.Attributes["id"].Value;
        if (setId != "" && setId != null)
          {
            ArrayList molecules = new ArrayList();
            b &= loadMolecules(moleculesNode, molecules);
            moleculeSet = new MoleculesSet();
            moleculeSet.id = setId;
            moleculeSet.molecules = molecules;
            moleculesSets.AddLast(moleculeSet);
          }
        else
          {
            Debug.Log("Error : missing attribute id in reactions node");
            b = false;
          }
          }
        return moleculesSets;
    }
コード例 #2
0
ファイル: Medium.cs プロジェクト: quito/DSynBio_reloaded
    /*!
    \brief Load Molecules from a MoleculesSet
    \param molSet The set to Load
    \param allMolecules The list of all the molecules
       */
    public void initMoleculesFromMoleculesSets(MoleculesSet molSet, ArrayList allMolecules)
    {
        Molecule newMol;
        Molecule startingMolStatus;

        _molecules = new ArrayList();
        foreach (Molecule mol in allMolecules)
          {
        newMol = new Molecule(mol);
        startingMolStatus = ReactionEngine.getMoleculeFromName(mol.getName(), molSet.molecules);
        if (startingMolStatus == null)
          newMol.setConcentration(0);
        else
          newMol.setConcentration(startingMolStatus.getConcentration());
        _molecules.Add(newMol);
          }
    }