43 mutable std::weak_ptr<CellSystem::CellSystem> m_cell_structure;
44 mutable std::weak_ptr<Interactions::BondedInteractions> m_bonded_ias;
45 mutable std::weak_ptr<::System::System> m_system;
46 auto get_cell_structure()
const {
47 auto ptr = m_cell_structure.lock();
48 assert(ptr !=
nullptr);
51 auto get_bonded_ias()
const {
52 auto ptr = m_bonded_ias.lock();
53 assert(ptr !=
nullptr);
56 auto get_system()
const {
57 auto ptr = m_system.lock();
58 assert(ptr !=
nullptr);
63 T get_particle_property(T
const &(
Particle::*getter)()
const)
const;
64 template <
typename T,
class F> T get_particle_property(F
const &fun)
const;
67 void set_particle_property(T &(
Particle::*setter)(),
70 template <
class F>
void set_particle_property(F
const &fun)
const;
72 void particle_exclusion_sanity_checks(
int pid1,
int pid2)
const;
83 void attach(std::weak_ptr<::System::System> system) {
84 assert(m_system.expired());
Variant do_call_method(std::string const &name, VariantMap const ¶ms) override
void attach(std::weak_ptr<::System::System > system)
void do_construct(VariantMap const ¶ms) override
boost::make_recursive_variant< None, bool, int, std::size_t, double, std::string, ObjectRef, Utils::Vector3b, Utils::Vector3i, Utils::Vector2d, Utils::Vector3d, Utils::Vector4d, std::vector< int >, std::vector< double >, std::vector< boost::recursive_variant_ >, std::unordered_map< int, boost::recursive_variant_ >, std::unordered_map< std::string, boost::recursive_variant_ > >::type Variant
Possible types for parameters.
Struct holding all information for one particle.