xmol::proxy::AtomSelection class

@breif Ordered set of AtomRef from single Frame

Mixing references from different frames within single AtomSelection is prohibited

Base classes

template<typename T>
class Selection<AtomRef>

Constructors, destructors, conversion operators

AtomSelection(Selection&& rhs)
Construct from parent.
AtomSelection(AtomSpan rhs)
Selection() defaulted
template<typename Iterator>
Selection(Iterator first, Iterator last, bool sorted_and_unique = false)
template<typename Container>
Selection(Container&& c, bool sorted_and_unique = false) explicit
Selection(std::vector<T>&& data, bool sorted_and_unique = false) explicit

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.
auto index() const -> std::vector<AtomIndex>
auto slice(std::optional<size_t> start, std::optional<size_t> stop = {}, std::optional<size_t> step = {}) -> AtomSelection
auto operator|=(const AtomSelection& rhs) -> AtomSelection&
Inplace union.
auto operator-=(const AtomSelection& rhs) -> AtomSelection&
Inplace difference.
auto operator&=(const AtomSelection& rhs) -> AtomSelection&
Inplace intersection.
auto smart() -> smart::AtomSmartSelection
Create smart selection from this.
void guess_mass()
Guess atom mass by atom name.
auto inertia_tensor() -> Eigen::Matrix3d
Guess atom mass by atom name.
auto alignment_to(AtomSpan& rhs, bool weighted = false) -> geom::affine::Transformation3d
Calc alignment to another set of atoms.
auto alignment_to(AtomSelection& rhs, bool weighted = false) -> geom::affine::Transformation3d
Calc alignment to another set of atoms.
auto rmsd(AtomSelection& rhs, bool weighted = false) -> double
auto rmsd(AtomSpan& rhs, bool weighted = false) -> double
auto mean(bool weighted = false) -> XYZ