pub struct Selection {
pub atoms: BTreeSet<usize>,
pub bonds: BTreeSet<(usize, usize)>,
}Expand description
A set of atom indices and bond index pairs.
Fields§
§atoms: BTreeSet<usize>Selected atoms in the current cell.
bonds: BTreeSet<(usize, usize)>Selected bonds as ordered index pairs.
Implementations§
Source§impl Selection
impl Selection
Sourcepub fn remove_atom(&mut self, index: usize)
pub fn remove_atom(&mut self, index: usize)
Deselects one atom.
Sourcepub fn toggle_atom(&mut self, index: usize)
pub fn toggle_atom(&mut self, index: usize)
Toggles one atom.
Sourcepub fn add_atoms(&mut self, indices: impl IntoIterator<Item = usize>)
pub fn add_atoms(&mut self, indices: impl IntoIterator<Item = usize>)
Selects a sorted block of atoms.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Selection
impl<'de> Deserialize<'de> for Selection
Source§fn 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 Eq for Selection
impl StructuralPartialEq for Selection
Auto Trait Implementations§
impl Forget for Selection
impl Freeze for Selection
impl Move for Selection
impl RefUnwindSafe for Selection
impl Send for Selection
impl Sync for Selection
impl Unpin for Selection
impl UnsafeUnpin for Selection
impl UnwindSafe for Selection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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