IMP  2.0.0
The Integrative Modeling Platform
VolumeRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/VolumeRestraint.h
3  * \brief A prevent spheres from inter-penetrating
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_VOLUME_RESTRAINT_H
9 #define IMPCORE_VOLUME_RESTRAINT_H
10 
11 #include <IMP/core/core_config.h>
12 #include <IMP/SingletonContainer.h>
13 #include <IMP/Restraint.h>
14 #include <IMP/UnaryFunction.h>
15 #include <IMP/restraint_macros.h>
16 
17 IMPCORE_BEGIN_NAMESPACE
18 #if defined(IMP_CORE_USE_IMP_CGAL) || defined(IMP_DOXYGEN)
19 //! Restraint the volume of a set of spheres
20 /** \note This restraint does not support derivatives.
21  \note This restraint requires CGAL.*/
22 class IMPCOREEXPORT VolumeRestraint: public Restraint
23 {
24  IMP::OwnerPointer<SingletonContainer> sc_;
25  IMP::OwnerPointer<UnaryFunction> f_;
26  double volume_;
27 public:
30  double volume);
31 
33 };
34 #endif
35 
36 IMPCORE_END_NAMESPACE
37 
38 #endif /* IMPCORE_VOLUME_RESTRAINT_H */