IMP
2.3.1
The Integrative Modeling Platform
IMP Mainpage
Modules
Applications
Related Pages
Groups
Classes
Files
Examples
Indexes
File List
File Members
IMP
Modules
Applications
All IMP Applications
Argument Index
Class Examples
Factory Index
Function Examples
Design example
Developer Guide
Installation
Introduction
Publications
ChangeLog
Tools
Dependencies
PMI changelog
Deprecated List
Groups
Classes
Files
File List
File Members
Examples
Indexes
simple.cpp
1
/** \example core/simple.cpp
2
3
Simple example of using the IMP C++ library.
4
5
This should be equivalent to the first part of the Python example simple.py.
6
*/
7
8
#include <fstream>
9
10
#include <
IMP/kernel.h
>
11
#include <
IMP/algebra.h
>
12
#include <
IMP/core.h
>
13
14
int
main() {
15
IMP_NEW
(
IMP::kernel::Model
, m, ());
16
17
// Create two "untyped" kernel::Particles
18
IMP_NEW
(
IMP::kernel::Particle
, p1, (m));
19
IMP_NEW
(
IMP::kernel::Particle
, p2, (m));
20
21
// "Decorate" the kernel::Particles with x,y,z attributes (point-like
22
// particles)
23
IMP::core::XYZ
d1 =
IMP::core::XYZ::setup_particle
(p1);
24
IMP::core::XYZ
d2 =
IMP::core::XYZ::setup_particle
(p2);
25
26
// Use some XYZ-specific functionality (set coordinates)
27
d1.
set_coordinates
(
IMP::algebra::Vector3D
(10.0, 10.0, 10.0));
28
d2.
set_coordinates
(
IMP::algebra::Vector3D
(-10.0, -10.0, -10.0));
29
std::cout << d1 <<
" "
<< d2 << std::endl;
30
31
return
0;
32
}
kernel.h
Include all non-deprecated headers in IMP.kernel.
core.h
Include all non-deprecated headers in IMP.core.
algebra.h
Include all non-deprecated headers in IMP.algebra.
IMP::core::XYZ::setup_particle
static XYZ setup_particle(kernel::Model *m, ParticleIndex pi)
Definition:
XYZ.h:51
IMP_NEW
#define IMP_NEW(Typename, varname, args)
Declare a ref counted pointer to a new object.
Definition:
object_macros.h:72
IMP::core::XYZ::set_coordinates
void set_coordinates(const algebra::Vector3D &v)
set all coordinates from a vector
Definition:
XYZ.h:62
IMP::core::XYZ
A decorator for a particle with x,y,z coordinates.
Definition:
XYZ.h:30
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:37
IMP::algebra::Vector3D
VectorD< 3 > Vector3D
Definition:
VectorD.h:395
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:73