/** * \file IMP/core/VolumeRestraint.h * \brief A prevent spheres from inter-penetrating * * Copyright 2007-2013 IMP Inventors. All rights reserved. */ #ifndef IMPCORE_VOLUME_RESTRAINT_H #define IMPCORE_VOLUME_RESTRAINT_H #include #include #include #include #include IMPCORE_BEGIN_NAMESPACE #if defined(IMP_CORE_USE_IMP_CGAL) || defined(IMP_DOXYGEN) //! Restraint the volume of a set of spheres /** \note This restraint does not support derivatives. \note This restraint requires CGAL.*/ class IMPCOREEXPORT VolumeRestraint: public Restraint { IMP::OwnerPointer sc_; IMP::OwnerPointer f_; double volume_; public: VolumeRestraint(UnaryFunction *f, SingletonContainer *sc, double volume); IMP_RESTRAINT(VolumeRestraint); }; #endif IMPCORE_END_NAMESPACE #endif /* IMPCORE_VOLUME_RESTRAINT_H */