IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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
:
28
VolumeRestraint
(
UnaryFunction
*f,
29
SingletonContainer
*sc,
30
double
volume);
31
32
IMP_RESTRAINT
(
VolumeRestraint
);
33
};
34
#endif
35
36
IMPCORE_END_NAMESPACE
37
38
#endif
/* IMPCORE_VOLUME_RESTRAINT_H */