示例#1
0
 private static void WriteHeader(
     TextWriter writer, Molecule molecule)
 {
     writer.Write('\n');
     writer.Write(" Written by signature package");
     writer.Write('\n');
     writer.Write('\n');
     int a = molecule.GetAtomCount();
     int b = molecule.GetBondCount();
     writer.Write($"{a,3:D}{b,3:D}  0  0  0  0  0  0  0  0999 V2000");
     writer.Write('\n');
 }
示例#2
0
 public bool Identical(Molecule other)
 {
     if (this.GetBondCount() != other.GetBondCount())
     {
         return(false);
     }
     foreach (var bond in this.bonds)
     {
         if (other.bonds.Contains(bond))
         {
             continue;
         }
         else
         {
             return(false);
         }
     }
     return(true);
 }
示例#3
0
 public static void WriteToStream(Stream stream, Molecule molecule)
 {
     try
     {
         using (var writer = new StreamWriter(stream))
         {
             WriteHeader(writer, molecule);
             for (int i = 0; i < molecule.GetAtomCount(); i++)
             {
                 WriteAtom(writer, molecule, i);
             }
             for (int i = 0; i < molecule.GetBondCount(); i++)
             {
                 WriteBond(writer, molecule, i);
             }
             writer.Write("M  END");
             writer.Write('\n');
         }
     }
     catch (IOException)
     {
     }
 }