238 {
"unknown",
"Unknown"},
280 {
"molybdenum",
"Mo"},
281 {
"technetium",
"Tc"},
297 {
"praseodymium",
"Pr"},
299 {
"promethium",
"Pm"},
302 {
"gadolinium",
"Gd"},
304 {
"dysprosium",
"Dy"},
329 {
"protactinium",
"Pa"},
336 {
"californium",
"Cf"},
337 {
"einsteinium",
"Es"},
339 {
"mendelevium",
"Md"},
692 std::string
s1 =
s.substr(0, 1);
693 s1[0] = std::toupper(
s1[0]);
699 else if (
s.size() == 2)
701 std::string
s2 =
s.substr(0, 2);
702 s2[0] = std::toupper(
s2[0]);
703 s2[1] = std::tolower(
s2[1]);
710 else if (
s.size() > 2)
712 std::string name =
s;
713 std::transform(name.begin(), name.end(), name.begin(), [](
unsigned char c){ return std::tolower(c); });
718 std::vector<std::string>
names;
724 while (
names.size() > 1)
726 std::string
check = name.substr(0,
i);
728 for (
const auto & n :
names)
730 if (n.rfind(
check, 0) == 0)
737 if (
i > name.size()) {
break; }
glm::vec< L, float, glm::qualifier::highp > vec
Definition commandLine.h:214
const std::map< std::string, std::string > ELEMENT_NAME_TO_STRING_SYMBOL
Map Element names to string symbols.
Definition element.h:236
Element
Representable elements.
Definition element.h:13
float stringSymbolToElementRadius(const std::string &s)
Map a string symbol to a VDW radius.
Definition element.h:751
const std::map< Element, float > ELEMENT_MASS
Scaled element masses.
Definition element.h:564
const std::map< Element, std::string > STRING_FROM_ELEMENT
Map Element to string symbols.
Definition element.h:348
Element stringSymbolToElement(const std::string &s)
Map a string symbol to an Element.
Definition element.h:681
std::ostream & operator<<(std::ostream &o, const Element &e)
Print an Element to std::ostream.
Definition element.h:769
const std::map< std::string, Element > ELEMENT_FROM_STRING
Map string symbols to Element.
Definition element.h:124
const std::map< Element, float > ELEMENT_RADIUS
Map Element to a Van der Waals radius in Angstroms.
Definition element.h:461