8 #ifndef IMPCORE_EXCLUDED_VOLUME_RESTRAINT_H
9 #define IMPCORE_EXCLUDED_VOLUME_RESTRAINT_H
11 #include <IMP/core/core_config.h>
13 #include "internal/remove_pointers.h"
22 #include <boost/unordered_map.hpp>
24 IMPCORE_BEGIN_NAMESPACE
43 mutable bool was_bad_;
44 mutable bool initialized_;
50 mutable boost::unordered_map<kernel::ParticleIndex, kernel::ParticleIndexes>
57 void reset_moved()
const;
58 void initialize()
const;
59 bool get_if_moved()
const;
60 void fill_list()
const;
61 double fill_list_if_good(
double max)
const;
77 std::string name =
"ExcludedVolumeRestraint%1%");
81 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
96 IMP_LIST_ACTION(
public, PairFilter, PairFilters, pair_filter, pair_filters,
100 IMPCORE_END_NAMESPACE
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Class for adding derivatives from restraints to the model.
Import IMP/kernel/SingletonContainer.h in the namespace.
A smart pointer to a ref-counted Object that is a class memeber.
Import IMP/kernel/UnaryFunction.h in the namespace.
virtual void clear_caches()
Import IMP/kernel/PairContainer.h in the namespace.
Abstract base class for all restraints.
Import IMP/kernel/Refiner.h in the namespace.
functionality for defining rigid bodies
A restraint is a term in an IMP ScoringFunction.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Abstract predicate function.
IMP::base::Vector< IMP::base::Pointer< PairPredicate > > PairPredicates
virtual Restraints do_create_current_decomposition() const
A score on the distance between the surfaces of two spheres.
Handle rigid bodies by looking at their members.
virtual ModelObjectsTemp do_get_inputs() const =0
Prevent a set of particles and rigid bodies from inter-penetrating.
virtual Restraints do_create_decomposition() const