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<ParticleIndex, 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;
86 std::string name =
"ExcludedVolumeRestraint%1%");
90 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
105 IMP_LIST_ACTION(
public, PairFilter, PairFilters, pair_filter, pair_filters,
109 IMPCORE_END_NAMESPACE
A container for Singletons.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Single variable function.
virtual Restraints do_create_decomposition() const
virtual void clear_caches()
virtual Restraints do_create_current_decomposition() const
Refine a particle into a list of particles.
functionality for defining rigid bodies
A smart pointer to a ref-counted Object that is a class member.
A score on the distance between the surfaces of two spheres.
Abstract predicate function.
Handle rigid bodies by looking at their members.
Prevent a set of particles and rigid bodies from inter-penetrating.
Abstract base class for all restraints.
ParticleIndexes get_indexes(const ParticlesTemp &ps)
virtual ModelObjectsTemp do_get_inputs() const =0
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.