home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.98ef8da184,2024/04/23
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
pmi1
version 20240423.develop.98ef8da184
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 override
;
38
virtual
ModelObjectsTemp
do_get_inputs
(
39
Model
*m,
const
ParticleIndexes
&pis)
const override
;
40
virtual
ModelObjectsTemp
do_get_outputs
(
41
Model
*m,
const
ParticleIndexes
&pis)
const override
;
42
IMP_SINGLETON_MODIFIER_METHODS
(
InternalCoordinatesConstraint
);
43
IMP_OBJECT_METHODS
(
InternalCoordinatesConstraint
);
44
};
45
46
IMPPMI1_END_NAMESPACE
47
48
#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:50
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP_SINGLETON_MODIFIER_METHODS
#define IMP_SINGLETON_MODIFIER_METHODS(Name)
Definition:
singleton_macros.h:124
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