00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include <vlMolecule/chem_database.hpp>
00033
00034 namespace vl
00035 {
00036
00037 static const AtomInfo elements_database[AT_Count] =
00038 {
00039 AtomInfo( AT_Hydrogen, "Hydrogen", "H", 1, 1.00794, 14.01, 20.28,2.20, 72.8, 1, 53, 25, 37, 120, 0xFFFFFF, 0xFFFFFF ),
00040 AtomInfo( AT_Helium, "Helium", "He", 2, 4.002602, 0.95, 4.22, -1, 0, 0, 31, -1, 32, 140, 0xD9FFFF, 0xFFC0CB ),
00041 AtomInfo( AT_Lithium, "Lithium", "Li", 3, 6.941, 453.69, 1615, 0.98, 59.6, 1, 167, 145, 134, 182, 0xCC80FF, 0xB22121 ),
00042 AtomInfo( AT_Beryllium, "Beryllium", "Be", 4, 9.012182, 1560, 2743, 1.57, 0, 2, 112, 105, 90, -1 , 0xC2FF00, 0xFF1493 ),
00043 AtomInfo( AT_Boron, "Boron", "B", 5, 10.811, 2348, 4273, 2.04, 26.7, 3, 87, 85, 82, -1 , 0xFFB5B5, 0x00FF00 ),
00044 AtomInfo( AT_Carbon, "Carbon", "C", 6, 12.0107, 3823, 4300, 2.55, 153.9, 4, 67, 70, 77, 170, 0x909090, 0xD3D3D3 ),
00045 AtomInfo( AT_Nitrogen, "Nitrogen", "N", 7, 14.0067, 63.05, 77.36, 3.04, 7.0, 3, 56, 65, 75, 155, 0x3050F8, 0x87CEE6 ),
00046 AtomInfo( AT_Oxygen, "Oxygen", "O", 8, 15.9994, 54.8, 90.2, 3.44, 141, 2, 48, 60, 73, 152, 0xFF0D0D, 0xFF0000 ),
00047 AtomInfo( AT_Fluorine, "Fluorine", "F", 9, 18.9984032, 53.5, 85.03, 3.98, 328, 1, 42, 50, 71, 147, 0x90E050, 0xDAA520 ),
00048 AtomInfo( AT_Neon, "Neon", "Ne", 10, 20.1797, 24.56, 27.07, -1, 0, 0, 38, -1, 69, 154, 0xB3E3F5, 0xFF1493 ),
00049 AtomInfo( AT_Sodium, "Sodium", "Na", 11, 22.98976928, 370.87, 1156, 0.93,52.08, 1, 190, 180, 154, 227, 0xAB5CF2, 0x0000FF ),
00050 AtomInfo( AT_Magnesium, "Magnesium", "Mg", 12, 24.3050, 923, 1363, 1.31, 0, 2, 145, 150, 130, 173, 0x8AFF00, 0x228B22 ),
00051 AtomInfo( AT_Aluminium, "Aluminium", "Al", 13, 26.9815386, 933, 2792, 1.61, 42.5, 3, 118, 125, 118, 0, 0xBFA6A6, 0x696969 ),
00052 AtomInfo( AT_Silicon, "Silicon", "Si", 14, 28.0855, 1687, 3173, 1.90,133.6, 4, 111, 110, 111, 210, 0xF0C8A0, 0xDAA520 ),
00053 AtomInfo( AT_Phosphorus, "Phosphorus", "P", 15, 30.973762, 317.3, 553.6, 2.19, 72, 5, 98, 100, 106, 180, 0xFF8000, 0xFFAA00 ),
00054 AtomInfo( AT_Sulfur, "Sulfur", "S", 16, 32.065, 388.36, 717.87,2.58, 200, 6, 88, 100, 102, 180, 0xFFFF30, 0xFFFF00 ),
00055 AtomInfo( AT_Chlorine, "Chlorine", "Cl", 17, 35.453, 171.6, 239.11,3.16, 359, 5, 79, 100, 99, 175, 0x1FF01F, 0x00FF00 ),
00056 AtomInfo( AT_Argon, "Argon", "Ar", 18, 39.948, 83.8, 87.3, -1, 0, 0, 71, 71, 97, 188, 0x80D1E3, 0xFA1691 ),
00057 AtomInfo( AT_Potassium, "Potassium", "K", 19, 39.0983, 336.53, 1032, 0.82, 48.4, 1, 243, 220, 196, 275, 0x8F40D4, 0xFA1691 ),
00058 AtomInfo( AT_Calcium, "Calcium", "Ca", 20, 40.078, 1115, 1757, 1.0, 2.37, 2, 194, 180, 174, -1, 0x3DFF00, 0x696969 ),
00059 AtomInfo( AT_Scandium, "Scandium", "Sc", 21, 44.955912, 1814, 3103, 1.36, 18.1, 3, 184, 160, 144, -1, 0xE6E6E6, 0xFA1691 ),
00060 AtomInfo( AT_Titanium, "Titanium", "Ti", 22, 47.867, 1941, 3560, 1.54, 7.6, 4, 176, 140, 136, -1, 0xBFC2C7, 0x696969 ),
00061 AtomInfo( AT_Vanadium, "Vanadium", "V", 23, 50.9415, 2183, 3680, 1.63, 50.6, 5, 171, 135, 125, -1, 0xA6A6AB, 0xFA1691 ),
00062 AtomInfo( AT_Chromium, "Chromium", "Cr", 24, 51.9961, 2180, 2944, 1.66, 64.3, 6, 166, 140, 127, -1, 0x8A99C7, 0x696969 ),
00063 AtomInfo( AT_Manganese, "Manganese", "Mn", 25, 54.938045, 1519, 2334, 1.55, 0, 4, 161, 140, 139, -1, 0x9C7AC7, 0x696969 ),
00064 AtomInfo( AT_Iron, "Iron", "Fe", 26, 55.845, 1811, 3134, 1.83, 15.7, 3, 156, 140, 125, -1, 0xE06633, 0xFFAA00 ),
00065 AtomInfo( AT_Cobalt, "Cobalt", "Co", 27, 58.933195, 1768, 3200, 1.88, 63.7, 4, 152, 135, 126, -1, 0xF090A0, 0xFA1691 ),
00066 AtomInfo( AT_Nickel, "Nickel", "Ni", 28, 58.6934, 1728, 3186, 1.91, 112, 4, 149, 135, 121, 163, 0x50D050, 0x802828 ),
00067 AtomInfo( AT_Copper, "Copper", "Cu", 29, 63.546, 1357.77,3200, 1.90, 118.4, 2, 145, 135, 138, 140, 0xC88033, 0x802828 ),
00068 AtomInfo( AT_Zinc, "Zinc", "Zn", 30, 65.409, 692.68, 1180, 1.65, 0, 2, 142, 135, 131, 139, 0x7D80B0, 0x802828 ),
00069 AtomInfo( AT_Gallium, "Gallium", "Ga", 31, 69.723, 302.91, 2477, 1.81, 28.9, 3, 136, 130, 126, 187, 0xC28F8F, 0xFA1691 ),
00070 AtomInfo( AT_Germanium, "Germanium", "Ge", 32, 72.64, 1211.4, 3093, 2.01, 119, 4, 125, 125, 122, -1, 0x668F8F, 0xFA1691 ),
00071 AtomInfo( AT_Arsenic, "Arsenic", "As", 33, 74.92160, 1090, 887, 2.18, 78, 5, 114, 115, 119, 185, 0xBD80E3, 0xFA1691 ),
00072 AtomInfo( AT_Selenium, "Selenium", "Se", 34, 78.96, 494, 958, 2.55, 195, 6, 103, 115, 116, 190, 0xFFA100, 0xFA1691 ),
00073 AtomInfo( AT_Bromine, "Bromine", "Br", 35, 79.904, 265.8, 332, 2.96, 324.6, 7, 94, 115, 114, 185, 0xA62929, 0x802828 ),
00074 AtomInfo( AT_Krypton, "Krypton", "Kr", 36, 83.798, 115.79, 119.93, 3.0, 0, 4, 88, -1, 110, 202, 0x5CB8D1, 0xFA1691 ),
00075 AtomInfo( AT_Rubidium, "Rubidium", "Rb", 37, 85.4678, 312.46, 961, 0.82, 46.9, 1, 265, 235, 211, -1, 0x702EB0, 0xFA1691 ),
00076 AtomInfo( AT_Strontium, "Strontium", "Sr", 38, 87.62, 1050, 1655, 0.95, 5.03, 2, 212, 200, 192, -1, 0x00FF00, 0xFA1691 ),
00077 AtomInfo( AT_Yttrium, "Yttrium", "Y", 39, 88.90585, 1799, 3618, 1.22, 29.6, 3, 212, 180, 162, -1, 0x94FFFF, 0xFA1691 ),
00078 AtomInfo( AT_Zirconium, "Zirconium", "Zr", 40, 91.224, 2128, 4682, 1.33, 41.1, 4, 206, 155, 148, -1, 0x94E0E0, 0xFA1691 ),
00079 AtomInfo( AT_Niobium, "Niobium", "Nb", 41, 92.906, 2750, 5017, 1.6, 86.1, 5, 198, 145, 137, -1, 0x73C2C9, 0xFA1691 ),
00080 AtomInfo( AT_Molybdenum, "Molybdenum", "Mo", 42, 95.94, 2896, 4912, 2.16, 71.9, 6, 190, 145, 145, -1, 0x54B5B5, 0xFA1691 ),
00081 AtomInfo( AT_Technetium, "Technetium", "Tc", 43, 98.0, 2430, 4538, 1.9, 53, 7, 183, 135, 156, -1, 0x3B9E9E, 0xFA1691 ),
00082 AtomInfo( AT_Ruthenium, "Ruthenium", "Ru", 44, 101.07, 2607, 4423, 2.2, 101.3, 6, 178, 130, 126, -1, 0x248F8F, 0xFA1691 ),
00083 AtomInfo( AT_Rhodium, "Rhodium", "Rh", 45, 102.905, 2237, 3968, 2.28, 109.7, 6, 173, 135, 135, -1, 0x0A7D8C, 0xFA1691 ),
00084 AtomInfo( AT_Palladium, "Palladium", "Pd", 46, 106.42, 1828.05,3236, 2.20, 53.7, 4, 169, 140, 131, 163, 0x006985, 0xFA1691 ),
00085 AtomInfo( AT_Silver, "Silver", "Ag", 47, 107.8682, 1234.93, 2435, 1.93, 125.6, 4, 165, 160, 153, 172, 0xC0C0C0, 0x696969 ),
00086 AtomInfo( AT_Cadmium, "Cadmium", "Cd", 48, 112.411, 594.22, 1040, 1.69, 0, 2, 161, 155, 148, 158, 0xFFD98F, 0xFA1691 ),
00087 AtomInfo( AT_Indium, "Indium", "In", 49, 114.818, 429.75, 2345, 1.78, 28.9, 3, 156, 155, 144, 193, 0xA67573, 0xFA1691 ),
00088 AtomInfo( AT_Tin, "Tin", "Sn", 50, 118.710, 505.08, 2875, 1.96, 107.3, 4, 145, 145, 141, 217, 0x668080, 0xFA1691 ),
00089 AtomInfo( AT_Antimony, "Antimony", "Sb", 51, 121.760, 903.78, 1860, 2.05, 103.2, 5, 133, 145, 138, -1, 0x9E63B5, 0xFA1691 ),
00090 AtomInfo( AT_Tellurium, "Tellurium", "Te", 52, 127.60, 722.66, 1261, 2.1, 190.2, 6, 123, 140, 135, 206, 0xD47A00, 0xFA1691 ),
00091 AtomInfo( AT_Iodine, "Iodine", "I", 53, 126.90447, 386.85, 457.4, 2.66, 295.2, 7, 115, 140, 133, 198, 0x940094, 0xFA1691 ),
00092 AtomInfo( AT_Xenon, "Xenon", "Xe", 54, 131.293, 161.3, 165.1, 2.6, 0, 6, 108,-1, 130, 216, 0x429EB0, 0xFA1691 ),
00093 AtomInfo( AT_Caesium, "Caesium", "Cs", 55, 132.9054519, 301.59, 944, 0.79, 45.5, 3, 298, 260, 225, -1, 0x57178F, 0xFA1691 ),
00094 AtomInfo( AT_Barium, "Barium", "Ba", 56, 137.327, 1000, 2143, 0.89, 13.95, 2, 253, 215, 198, -1, 0x00C900, 0xFFAA00 ),
00095 AtomInfo( AT_Lanthanum, "Lanthanum", "La", 57, 138.90547, 1193, 3737, 1.10, 48, 3,-1, 195, 169, -1, 0x70D4FF, 0xFA1691 ),
00096 AtomInfo( AT_Cerium, "Cerium", "Ce", 58, 140.116, 1071, 3633, 1.12, 50, 4,-1, 185,-1, -1, 0xFFFFC7, 0xFA1691 ),
00097 AtomInfo( AT_Praseodymium, "Praseodymium", "Pr", 59, 140.90765, 1204, 3563, 1.13, 50, 4, 247, 185,-1, -1, 0xD9FFC7, 0xFA1691 ),
00098 AtomInfo( AT_Neodymium, "Neodymium", "Nd", 60, 144.242, 1294, 3373, 1.14, 50, 3, 206, 185,-1, -1, 0xC7FFC7, 0xFA1691 ),
00099 AtomInfo( AT_Promethium, "Promethium", "Pm", 61, 145, 1373, 3273, -1, 50, 3, 205, 185,-1, -1, 0xA3FFC7, 0xFA1691 ),
00100 AtomInfo( AT_Samarium, "Samarium", "Sm", 62, 150.36, 1345, 2076, 1.17, 50, 3, 238, 185,-1, -1, 0x8FFFC7, 0xFA1691 ),
00101 AtomInfo( AT_Europium, "Europium", "Eu", 63, 151.964, 1095, 1800, -1, 50, 3, 231, 185,-1, -1, 0x61FFC7, 0xFA1691 ),
00102 AtomInfo( AT_Gadolinium, "Gadolinium", "Gd", 64, 157.25, 1586, 3523, 1.20, 50, 3, 233, 180,-1, -1, 0x45FFC7, 0xFA1691 ),
00103 AtomInfo( AT_Terbium, "Terbium", "Tb", 65, 158.92535, 1629, 3503, -1, 50, 4, 225, 175,-1, -1, 0x30FFC7, 0xFA1691 ),
00104 AtomInfo( AT_Dysprosium, "Dysprosium", "Dy", 66, 162.500, 1685, 2840, 1.22, 50, 3, 228, 175,-1, -1, 0x1FFFC7, 0xFA1691 ),
00105 AtomInfo( AT_Holmium, "Holmium", "Ho", 67, 164.93032, 1747, 2973, 1.23, 50, 3, 226, 175,-1, -1, 0x00FF9C, 0xFA1691 ),
00106 AtomInfo( AT_Erbium, "Erbium", "Er", 68, 167.259, 1770, 3141, 1.24, 50, 3, 226, 175,-1, -1, 0x00E675, 0xFA1691 ),
00107 AtomInfo( AT_Thulium, "Thulium", "Tm", 69, 168.93421, 1818, 2223, 1.25, 50, 3, 222, 175,-1, -1, 0x00D452, 0xFA1691 ),
00108 AtomInfo( AT_Ytterbium, "Ytterbium", "Yb", 70, 173.04, 1092, 1469, -1, 50, 3, 222, 175,-1, -1, 0x00BF38, 0xFA1691 ),
00109 AtomInfo( AT_Lutetium, "Lutetium", "Lu", 71, 174.967, 1936, 3675, 1.27, 50, 3, 217, 175, 160, -1, 0x00AB24, 0xFA1691 ),
00110 AtomInfo( AT_Hafnium, "Hafnium", "Hf", 72, 178.49, 2506, 4876, 1.3, 0, 4, 208, 155, 150, -1, 0x4DC2FF, 0xFA1691 ),
00111 AtomInfo( AT_Tantalum, "Tantalum", "Ta", 73, 180.94788, 3290, 5731, 1.5, 31, 5, 220, 145, 138, -1, 0x4DA6FF, 0xFA1691 ),
00112 AtomInfo( AT_Tungsten, "Tungsten", "W", 74, 183.84, 3695, 5828, 2.36, 78.6, 6, 193, 135, 146, -1, 0x2194D6, 0xFA1691 ),
00113 AtomInfo( AT_Rhenium, "Rhenium", "Re", 75, 186.207, 3459, 5869, 1.9, 14.5, 7, 188, 135, 159, -1, 0x267DAB, 0xFA1691 ),
00114 AtomInfo( AT_Osmium, "Osmium", "Os", 76, 190.23, 3306, 5285, 2.2, 106.1, 7, 185, 130, 128, -1, 0x266696, 0xFA1691 ),
00115 AtomInfo( AT_Iridium, "Iridium", "Ir", 77, 192.217, 2739, 4701, 2.20, 151, 6, 180, 135, 137, -1, 0x175487, 0xFA1691 ),
00116 AtomInfo( AT_Platinum, "Platinum", "Pt", 78, 195.084, 2041, 4098, 2.28, 205.3, 6, 177, 135, 128, 175, 0xD0D0E0, 0xFA1691 ),
00117 AtomInfo( AT_Gold, "Gold", "Au", 79, 196.966569, 1337.33, 3129, 2.54, 222.8, 7, 174, 135, 144, 166, 0xFFD123, 0xDAA520 ),
00118 AtomInfo( AT_Mercury, "Mercury", "Hg", 80, 200.59, 234.32, 629.88,2.0 , 0, 2, 171, 150, 149, 155, 0xB8B8D0, 0xFA1691 ),
00119 AtomInfo( AT_Thallium, "Thallium", "Tl", 81, 204.3833, 577, 1746, 1.62, 19.2, 3, 156, 190, 148, 196, 0xA6544D, 0xFA1691 ),
00120 AtomInfo( AT_Lead, "Lead", "Pb", 82, 207.2, 600.61, 2022, 2.33, 35.1, 4, 154, 180, 147, 202, 0x575961, 0xFA1691 ),
00121 AtomInfo( AT_Bismuth, "Bismuth", "Bi", 83, 208.98040, 544.4, 1837, 20.2, 91.2, 5, 143, 160, 146, -1, 0x9E4FB5, 0xFA1691 ),
00122 AtomInfo( AT_Polonium, "Polonium", "Po", 84, 210, 527, 1235, 20.0, 183.3, 6, 135, 190, -1, -1, 0xAB5C00, 0xFA1691 ),
00123 AtomInfo( AT_Astatine, "Astatine", "At", 85, 210, 575, 610, 2.2, 270.1, 7, 127, -1, -1, -1, 0x754F45, 0xFA1691 ),
00124 AtomInfo( AT_Radon, "Radon", "Rn", 86, 220, 202, 211.3, -1, 0, 6, 120, -1, 145, -1, 0x428296, 0xFA1691 ),
00125 AtomInfo( AT_Francium, "Francium", "Fr", 87, 223, 300, 950, 0.7, -1, 3, -1, -1, -1, -1, 0x420066, 0xFA1691 ),
00126 AtomInfo( AT_Radium, "Radium", "Ra", 88, 226, 973, 2010, 0.9, -1, 2, -1, 215, -1, -1, 0x007D00, 0xFA1691 ),
00127 AtomInfo( AT_Actinium, "Actinium", "Ac", 89, 227, 1323, 3473, 1.1, -1, 3, -1, 195, -1, -1, 0x70ABFA, 0xFA1691 ),
00128 AtomInfo( AT_Thorium, "Thorium", "Th", 90, 232.03806, 2023, 5093, 1.3, -1, 4, -1, 180, -1, -1, 0x00BAFF, 0xFA1691 ),
00129 AtomInfo( AT_Protactinium, "Protactinium", "Pa", 91, 231.03588, 1845, 4273, 1.5, -1, 5, -1, 180, -1, -1, 0x00A1FF, 0xFA1691 ),
00130 AtomInfo( AT_Uranium, "Uranium", "U", 92, 238.02891, 1408, 4200, 1.38,-1, 6, -1, 175, -1, 186, 0x008FFF, 0xFA1691 ),
00131 AtomInfo( AT_Neptunium, "Neptunium", "Np", 93, 237, 917, 4273, 1.36,-1, 6, -1, 175, -1, -1, 0x0080FF, 0xFA1691 ),
00132 AtomInfo( AT_Plutonium, "Plutonium", "Pu", 94, 244, 913, 3503, 1.28,-1, 6, -1, 175, -1, -1, 0x006BFF, 0xFA1691 ),
00133 AtomInfo( AT_Americium, "Americium", "Am", 95, 243, 1449, 2284, 1.3, -1, 4, -1, 175, -1, -1, 0x545CF2, 0xFA1691 ),
00134 AtomInfo( AT_Curium, "Curium", "Cm", 96, 247, 1618, 3383, 1.3, -1, 4, -1, -1, -1, -1, 0x785CE3, 0xFA1691 ),
00135 AtomInfo( AT_Berkelium, "Berkelium", "Bk", 97, 247, 1323, -1, 1.3, -1, 4, -1, -1, -1, -1, 0x8A4FE3, 0xFA1691 ),
00136 AtomInfo( AT_Californium, "Californium", "Cf", 98, 251, 1173, -1, 1.3, -1, 4, -1, -1, -1, -1, 0xA136D4, 0xFA1691 ),
00137 AtomInfo( AT_Einsteinium, "Einsteinium", "Es", 99, 252, 1133, -1, 1.3, -1, 4, -1, -1, -1, -1, 0xB31FD4, 0xFA1691 ),
00138 AtomInfo( AT_Fermium, "Fermium", "Fm", 100, 257, 1800, -1, 1.3, -1, 3, -1, -1, -1, -1, 0xB31FBA, 0xFA1691 ),
00139 AtomInfo( AT_Mendelevium, "Mendelevium", "Md", 101, 258, 1100, -1, 1.3, -1, 3, -1, -1, -1, -1, 0xB30DA6, 0xFA1691 ),
00140 AtomInfo( AT_Nobelium, "Nobelium", "No", 102, 259, 1100, -1, 1.3, -1, 3, -1, -1, -1, -1, 0xBD0D87, 0xFA1691 ),
00141 AtomInfo( AT_Lawrencium, "Lawrencium", "Lr", 103, 262, 1900, -1, -1, -1, 3, -1, -1, -1, -1, 0xC70066, 0xFA1691 ),
00142 AtomInfo( AT_Rutherfordium, "Rutherfordium", "Rf",104, 261, -1, -1, -1, -1, 4, -1, -1, -1, -1, 0xCC0059, 0xFA1691 ),
00143 AtomInfo( AT_Dubnium, "Dubnium", "Db", 105, 262, -1, -1, -1, -1, 5, -1, -1, -1, -1, 0xD1004F, 0xFA1691 ),
00144 AtomInfo( AT_Seaborgium, "Seaborgium", "Sg", 106, 266, -1, -1, -1, -1, 6, -1, -1, -1, -1, 0xD90045, 0xFA1691 ),
00145 AtomInfo( AT_Bohrium, "Bohrium", "Bh", 107, 264, -1, -1, -1, -1, 7, -1, -1, -1, -1, 0xE00038, 0xFA1691 ),
00146 AtomInfo( AT_Hassium, "Hassium", "Hs", 108, 277, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xE6002E, 0xFA1691 ),
00147 AtomInfo( AT_Meitnerium, "Meitnerium", "Mt", 109, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xEB0026, 0xFA1691 ),
00148 AtomInfo( AT_Darmstadtium, "Darmstadtium", "Ds", 110, 271, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00149 AtomInfo( AT_Roentgenium, "Roentgenium", "Rg", 111, 272, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00150 AtomInfo( AT_Ununbium, "Ununbium", "Uub", 112, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00151 AtomInfo( AT_Ununtrium, "Ununtrium", "Uut", 113, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00152 AtomInfo( AT_Ununquadium, "Ununquadium", "Uuq", 114, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00153 AtomInfo( AT_Ununpentium, "Ununpentium", "Uup", 115, 288, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00154 AtomInfo( AT_Ununhexium, "Ununhexium", "Uuh", 116, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00155 AtomInfo( AT_Ununseptium, "Ununseptium", "Uus", 117, 293, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00156 AtomInfo( AT_Ununoctium, "Ununoctium", "Uuo", 118, 294, -1, -1, -1, -1, 6, -1, -1, -1, -1, 0xF00024, 0xFA1691 ),
00157 AtomInfo( AT_Unknown, "Unknown", "-", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0xFA1691, 0xFA1691 ),
00158 };
00159
00160 const AtomInfo& atomInfo(EAtomType type) { return elements_database[type]; }
00161
00162 EAtomType atomType(const char* type)
00163 {
00164 std::string str = String(type).trim().toStdString();
00165 for(int i=0; i<AT_Count; ++i)
00166 {
00167 if (strcmp(str.c_str(), elements_database[i].name()) == 0)
00168 return elements_database[i].type();
00169 if (strcmp(str.c_str(), elements_database[i].symbol()) == 0)
00170 return elements_database[i].type();
00171 }
00172
00173 if (str == "C.3") return vl::AT_Carbon;
00174 if (str == "C.2") return vl::AT_Carbon;
00175 if (str == "C.1") return vl::AT_Carbon;
00176 if (str == "C.ar") return vl::AT_Carbon;
00177 if (str == "C.cat") return vl::AT_Carbon;
00178 if (str == "N.3") return vl::AT_Nitrogen;
00179 if (str == "N.2") return vl::AT_Nitrogen;
00180 if (str == "N.1") return vl::AT_Nitrogen;
00181 if (str == "N.ar") return vl::AT_Nitrogen;
00182 if (str == "N.am") return vl::AT_Nitrogen;
00183 if (str == "N.pl3") return vl::AT_Nitrogen;
00184 if (str == "N.4") return vl::AT_Nitrogen;
00185 if (str == "O.3") return vl::AT_Oxygen;
00186 if (str == "O.2") return vl::AT_Oxygen;
00187 if (str == "O.co2") return vl::AT_Oxygen;
00188 if (str == "O.spc") return vl::AT_Oxygen;
00189 if (str == "O.t3p") return vl::AT_Oxygen;
00190 if (str == "S.3") return vl::AT_Sulfur;
00191 if (str == "S.2") return vl::AT_Sulfur;
00192 if (str == "S.O") return vl::AT_Sulfur;
00193 if (str == "S.O2") return vl::AT_Sulfur;
00194 if (str == "P.3") return vl::AT_Sulfur;
00195 if (str == "H.spc") return vl::AT_Hydrogen;
00196 if (str == "H.t3p") return vl::AT_Hydrogen;
00197 if (str == "LP") return vl::AT_Unknown;
00198 if (str == "Du") return vl::AT_Unknown;
00199 if (str == "Du.C") return vl::AT_Unknown;
00200 if (str == "Any") return vl::AT_Unknown;
00201 if (str == "Hal") return vl::AT_Unknown;
00202 if (str == "Het") return vl::AT_Unknown;
00203 if (str == "Hev") return vl::AT_Unknown;
00204 if (str == "Cr.th") return vl::AT_Chromium;
00205 if (str == "Cr.oh ") return vl::AT_Chromium;
00206 if (str == "Co.oh") return vl::AT_Cobalt;
00207 return AT_Unknown;
00208 }
00209
00210 }