IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
restraint_geometry.h
Go to the documentation of this file.
1
/**
2
* \file IMP/display/restraint_geometry.h
3
* \brief Represent an XYZR restraint with a sphere
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPDISPLAY_RESTRAINT_GEOMETRY_H
9
#define IMPDISPLAY_RESTRAINT_GEOMETRY_H
10
11
#include <IMP/display/display_config.h>
12
#include "
geometry_macros.h
"
13
#include "
Colored.h
"
14
#include "
declare_Geometry.h
"
15
#include <
IMP/base/Pointer.h
>
16
#include <
IMP/PairContainer.h
>
17
18
IMPDISPLAY_BEGIN_NAMESPACE
19
20
//! Try to draw some stuff for a generic restraint
21
/** Mostly it just breaks the restraint down as much as possible and shows
22
the particles involved in the constituent terms if they are XYZ particles.
23
24
Note, make sure the model is up to date before calling this, for reasons of
25
efficiency, it does not update the model.
26
*/
27
class
IMPDISPLAYEXPORT
RestraintGeometry
:
public
Geometry
{
28
IMP::base::OwnerPointer<Restraint>
r_;
29
IMP::base::Pointer<Model>
m_;
30
//! Use this if the restraint is not part of the model
31
RestraintGeometry
(
Restraint
*p,
Model
*m);
32
public
:
33
RestraintGeometry
(
Restraint
*p);
34
Restraint
*get_restraint()
const
{
35
return
r_;
36
}
37
IMP_GEOMETRY
(
RestraintGeometry
);
38
};
39
40
41
//! Geometry for a whole set of restraints
42
class
IMPDISPLAYEXPORT
RestraintSetGeometry
:
public
Geometry
{
43
IMP::Pointer<RestraintSet> r_;
44
public
:
45
RestraintSetGeometry
(
RestraintSet
*p);
46
RestraintSet
*get_restraint_set()
const
{
47
return
r_;
48
}
49
IMP_GEOMETRY
(
RestraintSetGeometry
);
50
};
51
52
53
54
/** @} */
55
IMPDISPLAY_END_NAMESPACE
56
57
#endif
/* IMPDISPLAY_RESTRAINT_GEOMETRY_H */