IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ExampleSingletonModifier.h
Go to the documentation of this file.
1
/**
2
* \file IMP/example/ExampleSingletonModifier.h
3
* \brief A singleton modifier which wraps an attribute into a
4
* given range.
5
*
6
* Copyright 2007-2013 IMP Inventors. All rights reserved.
7
*/
8
9
#ifndef IMPEXAMPLE_EXAMPLE_SINGLETON_MODIFIER_H
10
#define IMPEXAMPLE_EXAMPLE_SINGLETON_MODIFIER_H
11
12
#include <IMP/example/example_config.h>
13
#include <
IMP/SingletonModifier.h
>
14
#include <
IMP/algebra/BoundingBoxD.h
>
15
#include <
IMP/singleton_macros.h
>
16
17
IMPEXAMPLE_BEGIN_NAMESPACE
18
19
//! An example singleton modifer
20
/** A simple singleton modifier which restrains the x,y,z
21
coordinates to a box by wrapping them.
22
23
Such a class could be coupled with an IMP::core::SingletonRestraint
24
or IMP::core::SingletonsRestraint to keep a set of particles
25
in a box.
26
27
\pythonexample{range_restriction}
28
29
The source code is as follows:
30
\include ExampleRestraint.h
31
\include ExampleRestraint.cpp
32
*/
33
class
IMPEXAMPLEEXPORT
ExampleSingletonModifier
:
public
SingletonModifier
34
{
35
algebra::BoundingBoxD<3>
bb_;
36
public
:
37
ExampleSingletonModifier
(
const
algebra::BoundingBoxD<3>
&bb);
38
39
// note, Doxygen wants a semicolon at the end of macro lines
40
IMP_SINGLETON_MODIFIER
(
ExampleSingletonModifier
);
41
};
42
43
44
IMPEXAMPLE_END_NAMESPACE
45
46
#endif
/* IMPEXAMPLE_EXAMPLE_SINGLETON_MODIFIER_H */