33 #include "pteros/core/atom.h"
34 #include "pteros/core/state.h"
42 size_t size()
const {
return _atoms.size();}
43 size_t num_atoms()
const {
return _atoms.size();}
44 size_t num_bonds()
const {
return _bonds.size();}
45 size_t num_molecules()
const {
return _molecules.size();}
46 bool has_bonds()
const {
return !_bonds.empty();}
47 bool has_molecules()
const {
return !_molecules.empty();}
49 void compute_bonds(
const State& state,
float cutoff=0.15);
50 void compute_molecules();
52 inline Atom& atom(
size_t ind) {
return _atoms[ind]; }
54 std::vector<Atom>& atoms() {
return _atoms;}
55 std::vector<Eigen::Vector2i>& bonds() {
return _bonds;}
56 std::vector<Eigen::Vector2i>& molecules() {
return _molecules;}
58 std::vector<int> bonded_atoms(
int at)
const;
59 std::vector<int> find_bonds(
int at)
const;
60 int find_molecule(
int at)
const;
65 std::vector<Atom> _atoms;
66 std::vector<Eigen::Vector2i> _bonds;
67 std::vector<Eigen::Vector2i> _molecules;