home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.36b5e40f34,2024/10/13
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
version 20241013.develop.36b5e40f34
Undecorator.h
Go to the documentation of this file.
1
/**
2
* \file IMP/Undecorator.h \brief The base class for undecorators.
3
*
4
* Copyright 2007-2022 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
Functions and adaptors for dealing with particle indexes.
IMP::Undecorator
Definition:
Undecorator.h:25
IMP::Index< ParticleIndexTag >
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::Object
Common base class for heavy weight IMP objects.
Definition:
Object.h:111
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.