Skip to main content

SelOwnBoundMut

Struct SelOwnBoundMut 

Source
pub struct SelOwnBoundMut<'a> { /* private fields */ }
Expand description

Read-write bound subsystem having access to all fields of Topology and State

Implementations§

Source§

impl SelOwnBoundMut<'_>

Source

pub fn into_unbound(self) -> Sel

Create new sub-selection based on provided definition.

Source

pub fn into_index(self) -> Sel

Source

pub fn clone_index(&self) -> Sel

Trait Implementations§

Source§

impl IndexSliceProvider for SelOwnBoundMut<'_>

Source§

impl Selectable for SelOwnBoundMut<'_>

Source§

fn select(&self, def: impl SelectionDef) -> Result<Sel, SelectionError>

Create new unbound sub-selection based on provided definition.

Source§

impl SelectionLogic for SelOwnBoundMut<'_>

Source§

type DerivedSel = Sel

Source§

fn clone_with_index(&self, index: SVec) -> Self::DerivedSel

Source§

fn or(&self, rhs: &impl IndexSliceProvider) -> Self::DerivedSel

Source§

fn and( &self, rhs: &impl IndexSliceProvider, ) -> Result<Self::DerivedSel, SelectionError>

Source§

fn minus( &self, rhs: &impl IndexSliceProvider, ) -> Result<Self::DerivedSel, SelectionError>

Source§

fn invert( &self, rhs: &impl IndexSliceProvider, ) -> Result<Self::DerivedSel, SelectionError>
where Self: SystemProvider,

Source§

impl SystemMutProvider for SelOwnBoundMut<'_>

Source§

impl SystemProvider for SelOwnBoundMut<'_>

Auto Trait Implementations§

§

impl<'a> Freeze for SelOwnBoundMut<'a>

§

impl<'a> RefUnwindSafe for SelOwnBoundMut<'a>

§

impl<'a> Send for SelOwnBoundMut<'a>

§

impl<'a> Sync for SelOwnBoundMut<'a>

§

impl<'a> Unpin for SelOwnBoundMut<'a>

§

impl<'a> UnsafeUnpin for SelOwnBoundMut<'a>

§

impl<'a> !UnwindSafe for SelOwnBoundMut<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AtomIterMutProvider for T

Source§

fn iter_atoms_mut(&mut self) -> impl AtomMutIterator<'_>

Source§

fn set_same_name(&mut self, val: &str)
where Self: Sized,

Sets same name to all selected atoms
Source§

fn set_same_resname(&mut self, val: &str)
where Self: Sized,

Sets same resname to all selected atoms
Source§

fn set_same_resid(&mut self, val: i32)
where Self: Sized,

Sets same resid to all selected atoms
Source§

fn set_same_chain(&mut self, val: char)
where Self: Sized,

Sets same chain to all selected atoms
Source§

fn set_same_mass(&mut self, val: f32)
where Self: Sized,

Sets same mass to all selected atoms
Source§

fn set_same_bfactor(&mut self, val: f32)
where Self: Sized,

Sets same B-factor to all selected atoms
Source§

impl<T> AtomIterProvider for T
where T: AtomPosAnalysis,

Source§

fn iter_atoms(&self) -> impl AtomIterator<'_>

Source§

impl<T> AtomParIterMutProvider for T

Source§

impl<T> AtomParIterProvider for T

Source§

impl<T> AtomPosAnalysis for T

Source§

fn atoms_ptr(&self) -> *const Atom

Source§

fn coords_ptr(&self) -> *const OPoint<f32, Const<3>>

Source§

fn split_par<F, R>(&self, func: F) -> Result<ParSplit, SelectionError>
where F: Fn(Particle<'_>) -> Option<R>, R: Default + PartialOrd, Self: Sized,

Creates a parallel split based on provided closure. A closure takes a Particle and returns a distinct value for each piece. New selection is created whenever new return value differes from the previous one.
Source§

fn split<RT, F>(&self, func: F) -> impl Iterator<Item = Sel>
where RT: Default + PartialEq, F: Fn(Particle<'_>) -> Option<RT>,

Source§

fn split_resindex(&self) -> impl Iterator<Item = Sel>

Source§

fn whole_attr<T>(&self, attr_fn: fn(&Atom) -> &T) -> Sel
where T: Eq + Hash + Copy,

Creates an “expanded” selection that includes all atoms with the same attributes as encountered in current selection. Provided closure takes an Atom and returns an “attribute” value (for example resid, resindex, chain). All atoms in the parent Topology that have the same attribute as any atom of the current selection will be selected. Functionally this method is equivalent to “same as” selections in VMD or Gromacs. Read more
Source§

fn whole_residues(&self) -> Sel

Selects whole residiues present in the current selection (in terms of resindex)
Source§

fn whole_chains(&self) -> Sel

Selects whole chains present in the current selection
Source§

impl<T> AtomPosAnalysisMut for T

Source§

impl<T> BondIterProvider for T

Source§

fn iter_bonds(&self) -> impl Iterator<Item = &[usize; 2]>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> BoxMutProvider for T

Source§

fn get_box_mut(&mut self) -> Option<&mut PeriodicBox>

Source§

impl<T> BoxProvider for T

Source§

fn get_box(&self) -> Option<&PeriodicBox>

Get reference to the periodic box or None if there is no box.
Source§

fn require_box(&self) -> Result<&PeriodicBox, PeriodicBoxError>

Get reference to the periodic box or an error if there is no box.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> IndexParProvider for T

Source§

impl<T> IndexProvider for T

Source§

unsafe fn get_index_unchecked(&self, i: usize) -> usize

Source§

fn iter_index(&self) -> impl Iterator<Item = usize>

Source§

fn first_index(&self) -> usize

Source§

fn last_index(&self) -> usize

Source§

fn as_gromacs_ndx_str(&self, name: impl AsRef<str>) -> String

Creates a string in Gromacs index format representing self.
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> LenProvider for T

Source§

fn len(&self) -> usize

Source§

impl<T> MassIterProvider for T

Source§

fn iter_masses(&self) -> impl Iterator<Item = f32>

Source§

impl<T> MeasureAtomPos for T
where T: AtomPosAnalysis,

Source§

fn sasa(&self) -> Result<Sasa, MeasureError>

Compute SASA (areas only).
Source§

fn sasa_vol(&self) -> Result<Sasa, MeasureError>

Compute SASA with per-atom volumes enabled.
Source§

impl<T> MeasureMasses for T
where T: AtomPosAnalysis,

Source§

fn center_of_mass(&self) -> Result<Pos, MeasureError>

Calculates the center of mass
Source§

fn gyration(&self) -> Result<f32, MeasureError>

Calculates the radius of gyration
Source§

fn inertia(&self) -> Result<(Vector3f, Matrix3f), MeasureError>

Calculates the moments and axes of inertia
Source§

fn principal_transform(&self) -> Result<IsometryMatrix3<f32>, MeasureError>

Computes transformation to principal axes of inertia
Source§

fn fit_transform( &self, other: &impl MeasureMasses, ) -> Result<IsometryMatrix3<f32>, MeasureError>
where Self: Sized,

Source§

fn fit_transform_at_origin( &self, other: &impl MeasureMasses, ) -> Result<IsometryMatrix3<f32>, MeasureError>
where Self: Sized,

Like fit_transform but assumes both selections are centered at origin
Source§

fn rmsd_mw(&self, other: &impl MeasureMasses) -> Result<f32, MeasureError>
where Self: Sized,

Calculates the mass-weighted Root Mean Square Deviation between two selections
Source§

impl<T> MeasurePeriodic for T

Source§

impl<T> MeasurePos for T
where T: AtomPosAnalysis,

Source§

fn min_max(&self) -> (Pos, Pos)

Returns the minimum and maximum coordinates across all dimensions
Source§

fn center_of_geometry(&self) -> Pos

Calculates the geometric center (centroid) of all positions
Source§

fn rmsd<S>(&self, other: &S) -> Result<f32, MeasureError>
where Self: Sized, S: MeasurePos,

Source§

impl<T> MeasureRandomAccess for T
where T: AtomPosAnalysis,

Source§

fn lipid_tail_order( &self, order_type: OrderType, normals: &Vec<Vector3f>, bond_orders: &Vec<u8>, ) -> Result<DVector<f32>, LipidOrderError>

Computes order parameter of the lipid tail. Each position in Self is supposed to represent a carbon atom of a single lipid tail. The size of the array of normals is either 1 or N-2, where N is the number of position in Self. In the first case the same normal is used for all bonds, in the second case each bond in the range 1..N-1 has its own normal. bonds_orders should contain either 1 or 2 for all N-1 bonds. Formulas are taken from: Read more
Source§

impl<T> ModifyPeriodic for T

Source§

impl<T> ModifyPos for T

Source§

fn translate<S>(&mut self, shift: &Matrix<f32, Const<3>, Const<1>, S>)
where S: Storage<f32, Const<3>, Const<1>>,

Source§

fn rotate(&mut self, ax: &Unit<Vector3f>, ang: f32)

Source§

fn apply_transform(&mut self, tr: &IsometryMatrix3<f32>)

Source§

impl<T> ModifyRandomAccess for T

Source§

fn unwrap_connectivity(&mut self, cutoff: f32) -> Result<Vec<Sel>, MeasureError>
where Self: Selectable,

Source§

fn unwrap_connectivity_dim( &mut self, cutoff: f32, dims: PbcDims, ) -> Result<Vec<Sel>, MeasureError>
where Self: Selectable,

Source§

impl<T> MoleculeIterProvider for T

Source§

fn iter_molecules(&self) -> impl Iterator<Item = &[usize; 2]>

Source§

impl<T> NonAtomPosAnalysis for T

Source§

impl<T> NonAtomPosAnalysisMut for T

Source§

impl<T> ParticleIterMutProvider for T

Source§

fn iter_particle_mut(&mut self) -> impl Iterator<Item = ParticleMut<'_>>

Source§

impl<T> ParticleIterProvider for T
where T: AtomPosAnalysis,

Source§

fn iter_particle(&self) -> impl Iterator<Item = Particle<'_>>

Source§

impl<T> ParticleParIterMutProvider for T

Source§

impl<T> ParticleParIterProvider for T

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PosIterMutProvider for T

Source§

fn iter_pos_mut(&mut self) -> impl PosMutIterator<'_>

Source§

impl<T> PosIterProvider for T
where T: AtomPosAnalysis,

Source§

fn iter_pos(&self) -> impl PosIterator<'_>

Source§

impl<T> PosParIterMutProvider for T

Source§

impl<T> PosParIterProvider for T

Source§

impl<T> RandomAtomMutProvider for T

Source§

unsafe fn get_atom_mut_unchecked(&mut self, i: usize) -> &mut Atom

Source§

fn get_atom_mut(&mut self, i: usize) -> Option<&mut Atom>

Source§

fn first_atom_mut(&mut self) -> &mut Atom

Source§

fn last_atom_mut(&mut self) -> &Atom

Source§

impl<T> RandomAtomProvider for T
where T: AtomPosAnalysis,

Source§

unsafe fn get_atom_unchecked(&self, i: usize) -> &Atom

Source§

fn get_atom(&self, i: usize) -> Option<&Atom>

Source§

fn first_atom(&self) -> &Atom

Source§

fn last_atom(&self) -> &Atom

Source§

impl<T> RandomBondProvider for T

Source§

fn num_bonds(&self) -> usize

Source§

unsafe fn get_bond_unchecked(&self, i: usize) -> &[usize; 2]

Source§

fn get_bond(&self, i: usize) -> Option<&[usize; 2]>

Source§

impl<T> RandomMoleculeProvider for T

Source§

fn num_molecules(&self) -> usize

Source§

unsafe fn get_molecule_unchecked(&self, i: usize) -> &[usize; 2]

Source§

fn get_molecule(&self, i: usize) -> Option<&[usize; 2]>

Source§

fn split_mol_iter(&self) -> impl Iterator<Item = Sel>
where Self: Sized + IndexProvider,

Splits by molecule and returns an iterator over them. If molecule is only partially contained in self then only this part is returned (molecules are clipped). If there are no molecules in Topology return an empty iterator.
Source§

impl<T> RandomParticleMutProvider for T

Source§

impl<T> RandomParticleProvider for T
where T: AtomPosAnalysis,

Source§

impl<T> RandomPosMutProvider for T

Source§

unsafe fn get_pos_mut_unchecked( &mut self, i: usize, ) -> &mut OPoint<f32, Const<3>>

Source§

fn get_pos_mut(&mut self, i: usize) -> Option<&mut Pos>

Source§

fn first_pos_mut(&mut self) -> &mut Pos

Source§

fn last_pos_mut(&mut self) -> &mut Pos

Source§

impl<T> RandomPosProvider for T
where T: AtomPosAnalysis,

Source§

unsafe fn get_pos_unchecked(&self, i: usize) -> &OPoint<f32, Const<3>>

Source§

fn get_pos(&self, i: usize) -> Option<&Pos>

Source§

fn first_pos(&self) -> &Pos

Source§

fn last_pos(&self) -> &Pos

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> TimeMutProvider for T

Source§

fn set_time(&mut self, t: f32)

Source§

impl<T> TimeProvider for T

Source§

fn get_time(&self) -> f32

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.