xmol::proxy::smart::AtomSmartSelection class

AtomSelection with parent frame changes tracking.

Base classes

template<typename Observer>
class FrameObserver<AtomSmartSelection>

Constructors, destructors, conversion operators

AtomSmartSelection(AtomSelection sel)
operator const AtomSelection&() const &
operator AtomSelection&() &
operator AtomSelection&&() &&

Public functions

auto coords() -> CoordSelection
Coordinates.
auto residues() -> ResidueSelection
Parent residues.
auto molecules() -> MoleculeSelection
Parent molecules.
template<typename Predicate>
auto filter(Predicate&& p) -> AtomSelection
Returns selection with atoms that match predicate.
void unite(const AtomSelection& rhs)
Inplace union.
void substract(const AtomSelection& rhs)
Inplace difference.
void intersect(const AtomSelection& rhs)
Inplace intersection.
auto contains(const AtomRef& ref) const -> bool
Check if element in selection.
auto operator|=(const AtomSelection& rhs) -> AtomSmartSelection&
Inplace union.
auto operator-=(const AtomSelection& rhs) -> AtomSmartSelection&
Inplace difference.
auto operator&=(const AtomSelection& rhs) -> AtomSmartSelection&
Inplace intersection.
auto begin() -> auto
auto end() -> auto
auto size() const -> size_t
auto empty() const -> size_t
auto slice(std::optional<size_t> start, std::optional<size_t> stop = {}, std::optional<size_t> step = {}) -> AtomSelection
auto index() -> auto
void guess_mass()
auto inertia_tensor() -> Eigen::Matrix3d -> auto
auto alignment_to(AtomSpan& rhs, bool weighted = false) -> geom::affine::Transformation3d -> auto
auto alignment_to(AtomSelection& rhs, bool weighted = false) -> geom::affine::Transformation3d -> auto
auto rmsd(AtomSpan& rhs, bool weighted = false) -> double
auto rmsd(AtomSelection& rhs, bool weighted = false) -> double
auto mean(bool weighted = false) -> XYZ
auto operator[](size_t i) -> AtomRef&