home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.10.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
pmi
version 2.10.0
InternalCoordinatesConstraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/pmi/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 IMPPMI_INTERNAL_COORDINATES_CONSTRAINT_H
9
#define IMPPMI_INTERNAL_COORDINATES_CONSTRAINT_H
10
11
#include <IMP/pmi/pmi_config.h>
12
#include <
IMP/SingletonModifier.h
>
13
#include <
IMP/singleton_macros.h
>
14
15
IMPPMI_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
IMPPMIEXPORT
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
IMPPMI_END_NAMESPACE
48
49
#endif
/* IMPPMI_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::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::pmi::InternalCoordinatesConstraint
An example singleton modifier.
Definition:
InternalCoordinatesConstraint.h:31
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