IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
TripletContainerSet.h
Go to the documentation of this file.
1
/**
2
* \file IMP/container/TripletContainerSet.h
3
* \brief Store a set of TripletContainers
4
*
5
* This file is generated by a script (tools/maintenance/make-container).
6
* Do not edit directly.
7
*
8
* Copyright 2007-2013 IMP Inventors. All rights reserved.
9
*/
10
11
#ifndef IMPCONTAINER_TRIPLET_CONTAINER_SET_H
12
#define IMPCONTAINER_TRIPLET_CONTAINER_SET_H
13
14
#include <IMP/container/container_config.h>
15
#include <
IMP/TripletContainer.h
>
16
#include <
IMP/container_macros.h
>
17
#include <IMP/internal/container_helpers.h>
18
#include <
IMP/scoped.h
>
19
20
IMPCONTAINER_BEGIN_NAMESPACE
21
22
//! Stores a set of TripletContainers
23
/** The input sets must be disjoint. This can change if there is
24
demand for it.
25
26
\usesconstraint
27
*/
28
class
IMPCONTAINEREXPORT
TripletContainerSet
29
:
public
TripletContainer
30
{
31
static
TripletContainerSet
* get_set(
TripletContainer
* c) {
32
return
dynamic_cast<
TripletContainerSet
*
>
(c);
33
}
34
public
:
35
//! Construct and empty set
36
TripletContainerSet
(
Model
*m,
37
std::string name=
"TripletContainerSet %1%"
);
38
39
TripletContainerSet
(
const
TripletContainersTemp
&pc,
40
std::string name=
"TripletContainerSet %1%"
);
41
42
/** \brief apply modifer sm to all triplet containers */
43
IMP_IMPLEMENT
(
void
do_apply(
const
TripletModifier
*sm)
const
);
44
45
template
<
class
M>
46
void
apply_generic
(
const
M*m)
const
{
47
apply
(m);
48
}
49
50
ParticleIndexes
get_all_possible_indexes
()
const
;
51
IMP_OBJECT
(
TripletContainerSet
);
52
53
/** @name Methods to control the nested container
54
55
This container merges a set of nested containers. To add
56
or remove nested containers, use the methods below.
57
*/
58
/**@{*/
59
IMP_LIST_ACTION(
public
,
TripletContainer
,
TripletContainers
,
60
triplet_container, triplet_containers,
61
TripletContainer
*,
TripletContainers
,
62
{
63
obj->set_was_used(
true
);
64
set_is_changed
(
true
);
65
},{},
66
);
67
/**@}*/
68
69
#ifndef IMP_DOXYGEN
70
ParticleIndexTriplets
get_indexes
()
const
;
71
ParticleIndexTriplets
get_range_indexes
()
const
;
72
ModelObjectsTemp
do_get_inputs
()
const
;
73
#endif
74
75
IMP_IMPLEMENT
(
void
do_before_evaluate());
76
};
77
78
79
IMPCONTAINER_END_NAMESPACE
80
81
#endif
/* IMPCONTAINER_TRIPLET_CONTAINER_SET_H */