Struct gchemol_lattice::Lattice
source · [−]pub struct Lattice { /* private fields */ }
Expand description
Periodic 3D lattice
Implementations
sourceimpl Lattice
impl Lattice
sourcepub fn new<T: Into<Vector3f> + Copy>(tvs: [T; 3]) -> Self
pub fn new<T: Into<Vector3f> + Copy>(tvs: [T; 3]) -> Self
Construct Lattice
from three lattice vectors.
sourcepub fn from_matrix<T: Into<Matrix3f>>(tvs: T) -> Self
pub fn from_matrix<T: Into<Matrix3f>>(tvs: T) -> Self
Construct Lattice
from lattice matrix (3x3).
sourcepub fn from_params(
a: f64,
b: f64,
c: f64,
alpha: f64,
beta: f64,
gamma: f64
) -> Self
pub fn from_params(
a: f64,
b: f64,
c: f64,
alpha: f64,
beta: f64,
gamma: f64
) -> Self
Construct lattice from lattice parameters Unit cell angles in degrees, lengths in Angstrom
sourcepub fn widths(&self) -> [f64; 3]
pub fn widths(&self) -> [f64; 3]
Return the perpendicular widths of the cell along three directions. i.e. the distance between opposite faces of the unit cell
sourcepub fn volume(&self) -> f64
pub fn volume(&self) -> f64
Return the volume of the unit cell the cache will be updated if necessary
sourcepub fn set_origin<T: Into<Vector3f>>(&mut self, loc: T)
pub fn set_origin<T: Into<Vector3f>>(&mut self, loc: T)
Set cell origin in Cartesian coordinates
sourcepub fn to_frac<T: Into<Vector3f>>(&self, p: T) -> Vector3f
pub fn to_frac<T: Into<Vector3f>>(&self, p: T) -> Vector3f
Returns the fractional coordinates given cartesian coordinates.
sourcepub fn to_cart<T: Into<Vector3f>>(&self, p: T) -> Vector3f
pub fn to_cart<T: Into<Vector3f>>(&self, p: T) -> Vector3f
Returns the cartesian coordinates given fractional coordinates.
sourcepub fn inv_matrix(&self) -> Matrix3f
pub fn inv_matrix(&self) -> Matrix3f
inverse of lattice matrix
sourcepub fn is_orthorhombic(&self) -> bool
pub fn is_orthorhombic(&self) -> bool
Check if lattice is orthorhombic
sourcepub fn wrap<T: Into<Vector3f>>(&self, vec: T) -> Vector3f
pub fn wrap<T: Into<Vector3f>>(&self, vec: T) -> Vector3f
Wrap a point in cartesian coordinates into unit cell, obeying the periodic boundary conditions. Returns cartesian coordinates.
sourcepub fn wrap_frac<T: Into<Vector3f>>(&self, f: T) -> Vector3f
pub fn wrap_frac<T: Into<Vector3f>>(&self, f: T) -> Vector3f
Wrap a point in fractional coordinates into unit cell, obeying the periodic boundary conditions. Returns fractional coordinates.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Lattice
impl<'de> Deserialize<'de> for Lattice
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Lattice
Auto Trait Implementations
impl RefUnwindSafe for Lattice
impl Send for Lattice
impl Sync for Lattice
impl Unpin for Lattice
impl UnwindSafe for Lattice
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more