home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.12.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
version 2.12.0
Undecorator.h
Go to the documentation of this file.
1
/**
2
* \file IMP/Undecorator.h \brief The base class for decorators.
3
*
4
* Copyright 2007-2019 IMP Inventors. All rights reserved.
5
*
6
*/
7
8
#ifndef IMPKERNEL_UNDECORATOR_H
9
#define IMPKERNEL_UNDECORATOR_H
10
11
#include <IMP/kernel_config.h>
12
#include "
base_types.h
"
13
#include <
IMP/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
Object
{
26
Model
*m_;
27
28
public
:
29
Undecorator
(
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 */
base_types.h
Basic types used by IMP.
particle_index.h
Various general useful functions for IMP.
IMP::Undecorator
Definition:
Undecorator.h:25
IMP::Index< ParticleIndexTag >
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::Object
Common base class for heavy weight IMP objects.
Definition:
Object.h:106
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition:
object_macros.h:44
Object.h
A shared base class to help in debugging and things.