IMP
2.1.0
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
File List
File Members
IMP
All IMP Modules
All IMP Modules and Applications
Argument Index
Class Examples
Factory Index
Function Examples
Design example
Developer Guide
Installation
Introduction
Mailing lists
ChangeLog
Tools
Dependencies
EMageFit protocol
EMageFit scripts and tools
Integrative docking utility programs
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
Examples
Indexes
Class Usage
Class Examples
Class Factories
Function Examples
kernel/Undecorator.h
Go to the documentation of this file.
1
/**
2
* \file IMP/kernel/Undecorator.h \brief The base class for decorators.
3
*
4
* Copyright 2007-2013 IMP Inventors. All rights reserved.
5
*
6
*/
7
8
#ifndef IMPKERNEL_UNDECORATOR_H
9
#define IMPKERNEL_UNDECORATOR_H
10
11
#include <IMP/kernel/kernel_config.h>
12
#include "
base_types.h
"
13
#include <
IMP/base/Object.h
>
14
#include "
particle_index.h
"
15
16
IMPKERNEL_BEGIN_NAMESPACE
17
18
class
Model
;
19
20
/** Undecorators can be registered with the model to tear down multi-particle
21
invariants when a particle is removed from the model. Decorators that
22
have such an invariant (eg an IMP::core::RigidBody) should register
23
an Undecorator when setup_particle is called.
24
*/
25
class
IMPKERNELEXPORT
Undecorator
:
public
base::Object
{
26
Model
*m_;
27
28
public
:
29
Undecorator
(
kernel::Model
*m, std::string name);
30
virtual
void
teardown(
ParticleIndex
pi)
const
= 0;
31
};
32
33
IMP_OBJECTS
(
Undecorator
,
Undecorators
);
34
35
IMPKERNEL_END_NAMESPACE
36
37
#endif
/* IMPKERNEL_UNDECORATOR_H */
particle_index.h
Various general useful functions for IMP.
IMP::kernel::Undecorator
Definition:
kernel/Undecorator.h:25
base_types.h
Basic types used by IMP.
IMP::base::Vector
Definition:
base/Vector.h:37
IMP::Model
IMP::kernel::Model Model
Definition:
kernel/doxygen.h:67
IMP::base::Index< ParticleIndexTag >
IMP::base::Object
Common base class for heavy weight IMP objects.
Definition:
base/declare_Object.h:123
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition:
base/object_macros.h:77
Object.h
A shared base class to help in debugging and things.
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/declare_Model.h:72