IMP logo
IMP Reference Guide  2.22.0
The Integrative Modeling Platform
core/utility.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/utility.h \brief Various important functionality
3  * for implementing decorators.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPCORE_UTILITY_H
10 #define IMPCORE_UTILITY_H
11 
12 #include <IMP/core/core_config.h>
13 #include "XYZR.h"
14 #include <IMP/base_types.h>
15 #include <IMP/algebra/Segment3D.h>
17 #include <IMP/Model.h>
18 #include <IMP/Particle.h>
19 
20 IMPCORE_BEGIN_NAMESPACE
21 //! Get the centroid
22 /** Compute the centroid (mean) of a set of particles.
23  */
24 IMPCOREEXPORT algebra::Vector3D get_centroid(const XYZs &ps);
25 
26 //! Get the bounding box
27 /** Compute the bounding box of a set of particles
28  */
29 IMPCOREEXPORT algebra::BoundingBoxD<3> get_bounding_box(const XYZRs &ps);
30 
31 IMPCORE_END_NAMESPACE
32 
33 #endif /* IMPCORE_UTILITY_H */
Basic types used by IMP.
Storage of a model, its restraints, constraints and particles.
algebra::Vector3D get_centroid(const XYZs &ps)
Get the centroid.
Simple implementation of segments in 3D.
BoundingBoxD< 3 > get_bounding_box(const Cone3D &g)
Definition: Cone3D.h:71
Simple 3D transformation class.
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
VectorD< 3 > Vector3D
Definition: VectorD.h:408
Decorator for a sphere-like particle.