IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
CoverRefined.h
Go to the documentation of this file.
1
/**
2
* \file IMP/core/CoverRefined.h
3
* \brief Cover a bond with a sphere.
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPCORE_COVER_REFINED_H
9
#define IMPCORE_COVER_REFINED_H
10
11
#include <IMP/core/core_config.h>
12
13
#include "
XYZR.h
"
14
#include <
IMP/Refiner.h
>
15
#include <
IMP/Pointer.h
>
16
#include <
IMP/Decorator.h
>
17
#include <
IMP/SingletonModifier.h
>
18
#include <
IMP/SingletonDerivativeModifier.h
>
19
20
21
IMPCORE_BEGIN_NAMESPACE
22
23
// for swig
24
class
XYZR;
25
26
/** \brief This class sets the position and radius of each particle to
27
enclose the refined.
28
29
\see DerivativesFromRefined
30
\see DerivativesToRefined
31
\see CentroidOfRefined
32
\see atom::CoverBond
33
34
Set the coordinates and radius of the passed particle to cover the particles
35
listed by the particle refiner.
36
An example showing a how to use such a score state to maintain a cover
37
of the atoms of a protein by a sphere per residue.
38
\htmlinclude cover_particles.py
39
40
\note The particle passed must be an XYZR.
41
\uses{class CoverRefined, CGAL}
42
*/
43
class
IMPCOREEXPORT
CoverRefined
:
public
SingletonModifier
44
{
45
IMP::OwnerPointer<Refiner> refiner_;
46
Float
slack_;
47
public
:
48
//! Create with the given refiner and radius key
49
/** Slack is the amount added to the radius.*/
50
CoverRefined
(
Refiner
*ref,
51
Float
slack=0);
52
53
//! Set how nmuch extra to add to the radius.
54
void
set_slack
(
Float
slack) {
55
slack_=slack;
56
}
57
58
IMP_INDEX_SINGLETON_MODIFIER
(
CoverRefined
);
59
};
60
61
//! A particle which covers a set of other particles.
62
/** A decorator which sets up a particle to be a cover of a
63
set of other particles. That is, the sphere defined by
64
its XYZR decorator will always contain the passed
65
particles.
66
67
\usesconstraint
68
*/
69
IMP_SUMMARY_DECORATOR_DECL
(
Cover
,
XYZR
, XYZs);
70
71
IMPCORE_END_NAMESPACE
72
73
#endif
/* IMPCORE_COVER_REFINED_H */