[−][src]Struct chemfiles::AtomRef
An analog to a reference to an atom (&Atom
)
Methods from Deref<Target = Atom>
pub fn mass(&self) -> f64
[src]
Get the atom mass, in atomic mass units.
Example
let atom = Atom::new("He"); assert_eq!(atom.mass(), 4.002602);
pub fn charge(&self) -> f64
[src]
Get the atom charge, in number of the electron charge e.
Example
let atom = Atom::new("He"); assert_eq!(atom.charge(), 0.0);
pub fn name(&self) -> String
[src]
pub fn atomic_type(&self) -> String
[src]
pub fn full_name(&self) -> String
[src]
Try to get the full name of the atom from the atomic type. For example, the full name of "He" is "Helium", and so on. If the name can not be found, this function returns the empty string.
Example
let atom = Atom::new("Zn"); assert_eq!(atom.full_name(), "Zinc");
pub fn vdw_radius(&self) -> f64
[src]
Try to get the Van der Waals radius of the atom from the atomic type. If the radius can not be found, returns 0.
Example
assert_eq!(Atom::new("He").vdw_radius(), 1.4); assert_eq!(Atom::new("Xxx").vdw_radius(), 0.0);
pub fn covalent_radius(&self) -> f64
[src]
Try to get the covalent radius of the atom from the atomic type. If the radius can not be found, returns 0.
Example
assert_eq!(Atom::new("He").covalent_radius(), 0.32); assert_eq!(Atom::new("Xxx").covalent_radius(), 0.0);
pub fn atomic_number(&self) -> u64
[src]
Try to get the atomic number of the atom from the atomic type. If the number can not be found, returns 0.
Example
assert_eq!(Atom::new("He").atomic_number(), 2); assert_eq!(Atom::new("Xxx").atomic_number(), 0);
pub fn get(&self, name: &str) -> Option<Property>
[src]
Get a property with the given name
in this atom, if it exist.
Examples
let mut atom = Atom::new("He"); atom.set("foo", Property::Double(22.2)); assert_eq!(atom.get("foo"), Some(Property::Double(22.2))); assert_eq!(atom.get("Bar"), None);
pub fn properties(&self) -> PropertiesIter<'_>ⓘNotable traits for PropertiesIter<'a>
impl<'a> Iterator for PropertiesIter<'a> type Item = (String, Property);
[src]
Notable traits for PropertiesIter<'a>
impl<'a> Iterator for PropertiesIter<'a> type Item = (String, Property);
Get an iterator over all (name, property) pairs for this atom
Examples
let mut atom = Atom::new("He"); atom.set("foo", Property::Double(22.2)); atom.set("bar", Property::Bool(false)); for (name, property) in atom.properties() { if name == "foo" { assert_eq!(property, Property::Double(22.2)); } else if name == "bar" { assert_eq!(property, Property::Bool(false)); } }
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for AtomRef<'a>
impl<'a> !Send for AtomRef<'a>
impl<'a> !Sync for AtomRef<'a>
impl<'a> Unpin for AtomRef<'a>
impl<'a> UnwindSafe for AtomRef<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,