home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.10.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Modules
Classes
Examples
include
IMP
pmi1
version 2.10.0
/InternalCoordinatesConstraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/pmi1/InternalCoordinatesConstraint.h
3
* \brief A modifier that enforce identical internal coordinates for NonRigidMembers.
4
*
5
* Copyright 2007-2018 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPPMI1_INTERNAL_COORDINATES_CONSTRAINT_H
9
#define IMPPMI1_INTERNAL_COORDINATES_CONSTRAINT_H
10
11
#include <IMP/pmi1/pmi1_config.h>
12
#include <
IMP/SingletonModifier.h
>
13
#include <
IMP/singleton_macros.h
>
14
15
IMPPMI1_BEGIN_NAMESPACE
16
17
//! An example singleton modifier
18
/** A simple singleton modifier which ensures the x,y,z coordinates
19
stay in a box by wrapping them.
20
21
Such a class could be coupled with an IMP::core::SingletonConstraint
22
or IMP::container::SingletonsConstraint to keep a set of particles
23
in a box.
24
25
\include range_restrictionExampleSingletonModifier.py
26
27
The source code is as follows:
28
\include InternalCoordinatesConstraint.h
29
\include InternalCoordinatesConstraint.cpp
30
*/
31
class
IMPPMI1EXPORT
InternalCoordinatesConstraint
:
public
SingletonModifier
{
32
33
public
:
34
InternalCoordinatesConstraint
();
35
36
// note, Doxygen wants a semicolon at the end of macro lines
37
virtual
void
apply_index
(
Model
*m,
ParticleIndex
p)
const
38
IMP_OVERRIDE
;
39
virtual
ModelObjectsTemp
do_get_inputs
(
40
Model
*m,
const
ParticleIndexes
&pis)
const
IMP_OVERRIDE
;
41
virtual
ModelObjectsTemp
do_get_outputs
(
42
Model
*m,
const
ParticleIndexes
&pis)
const
IMP_OVERRIDE
;
43
IMP_SINGLETON_MODIFIER_METHODS
(
InternalCoordinatesConstraint
);
44
IMP_OBJECT_METHODS
(
InternalCoordinatesConstraint
);
45
};
46
47
IMPPMI1_END_NAMESPACE
48
49
#endif
/* IMPPMI1_INTERNAL_COORDINATES_CONSTRAINT_H */
IMP::SingletonModifier
A base class for modifiers of ParticlesTemp.
Definition:
SingletonModifier.h:32
SingletonModifier.h
A Modifier on ParticlesTemp.
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::pmi1::InternalCoordinatesConstraint
An example singleton modifier.
Definition:
/InternalCoordinatesConstraint.h:31
IMP::Index< ParticleIndexTag >
singleton_macros.h
Macros for various classes.
IMP::ParticleOutputs::do_get_outputs
virtual ModelObjectsTemp do_get_outputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the outputs.
IMP::Vector
A more IMP-like version of the std::vector.
Definition:
Vector.h:39
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:72
IMP_SINGLETON_MODIFIER_METHODS
#define IMP_SINGLETON_MODIFIER_METHODS(Name)
Definition:
singleton_macros.h:93
IMP::ParticleInputs::do_get_inputs
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
IMP::SingletonModifier::apply_index
virtual void apply_index(Model *m, ParticleIndex v) const =0
IMP_OVERRIDE
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Definition:
compiler_macros.h:80