8 #ifndef IMPCORE_RIGID_CLOSE_PAIRS_FINDER_H
9 #define IMPCORE_RIGID_CLOSE_PAIRS_FINDER_H
14 #include <cereal/access.hpp>
15 #include <cereal/types/base_class.hpp>
17 IMPCORE_BEGIN_NAMESPACE
65 friend class cereal::access;
67 template<
class Archive>
void serialize(Archive &ar) {
68 ar(cereal::base_class<ClosePairsFinder>(
this), cpf_);
69 if (std::is_base_of<cereal::detail::InputArchiveBase, Archive>::value) {
70 k_ = get_hierarchy_key();
85 void set_distance(
double d)
override {
86 cpf_->set_distance(d);
87 ClosePairsFinder::set_distance(d);
90 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
91 internal::MovedSingletonContainer *get_moved_singleton_container(
110 IMPCORE_END_NAMESPACE
A base class for algorithms to find spatial proximities.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual ParticleIndexPairs get_close_pairs(Model *m, const ParticleIndexes &pc) const =0
return all close pairs among pc in model m
Class for storing model, its restraints, constraints, and particles.
Refine a particle into a list of particles.
functionality for defining rigid bodies
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
A smart pointer to a ref-counted Object that is a class member.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
A shared container for Singletons.
A base class for algorithms to detect proximities.
Perform more efficient close pair finding when rigid bodies are involved.