xmol::proxy::AtomSpan class

Base classes

template<typename Proxy, typename T>
class ProxySpan<AtomRef, BaseAtom>

Constructors, destructors, conversion operators

ProxySpan() defaulted
ProxySpan(const future::Span<T>& span) explicit
ProxySpan(T* b, T* e)
ProxySpan(T* b, size_t n)

Public functions

auto coords() -> CoordSpan
auto residues() -> ResidueSpan
auto molecules() -> MoleculeSpan
auto contains(const AtomRef& ref) const -> bool
template<typename Predicate>
auto filter(Predicate&& p) -> AtomSelection
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 slice(std::optional<size_t> start, std::optional<size_t> stop) -> AtomSpan
auto smart() -> smart::AtomSmartSpan
Make smart span 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
auto operator&=(const AtomSpan& rhs) -> AtomSpan&
Intersect inplace.

Protected functions

auto frame_ptr() -> Frame*
auto frame_ptr() const -> const Frame*