pub struct ConjugatedComponent {
pub atoms: Vec<AtomIdx>,
pub bonds: Vec<BondIdx>,
pub source_rings: Vec<usize>,
}Expand description
A candidate conjugated system: some atoms/bonds evaluated together as one pi-electron-counting problem (Aromaticity-A1-1a). Two distinct uses:
- a single SSSR/augmented ring, reinterpreted as a trivial one-ring
candidate (what
trace_ring_pi_electronsbuilds today); - a genuine multi-ring fused envelope, built by
build_conjugated_componentsas a connected component of the “conjugation graph” (double/aromatic-bonded atoms, plus lone-pair-donor atoms bridging across single bonds) – the azulene-class candidateaugmented_ring_set’s own docstring already named as future work (“candidate rings = SSSR ∪ fused envelopes”).
Fields§
§atoms: Vec<AtomIdx>§bonds: Vec<BondIdx>§source_rings: Vec<usize>Ring indices (into whatever ring list the caller built this from) this candidate derives from – one entry for a plain single-ring candidate, 2+ for a fused envelope spanning multiple rings.
Trait Implementations§
Source§impl Clone for ConjugatedComponent
impl Clone for ConjugatedComponent
Source§fn clone(&self) -> ConjugatedComponent
fn clone(&self) -> ConjugatedComponent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConjugatedComponent
impl RefUnwindSafe for ConjugatedComponent
impl Send for ConjugatedComponent
impl Sync for ConjugatedComponent
impl Unpin for ConjugatedComponent
impl UnsafeUnpin for ConjugatedComponent
impl UnwindSafe for ConjugatedComponent
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