9 #ifndef IMPALGEBRA_CONNOLLY_SURFACE_H
10 #define IMPALGEBRA_CONNOLLY_SURFACE_H
12 #include <IMP/algebra/algebra_config.h>
17 #include <cereal/access.hpp>
19 IMPALGEBRA_BEGIN_NAMESPACE
29 friend class cereal::access;
31 template<
class Archive>
void serialize(Archive &ar) {
32 ar(atom[0], atom[1], atom[2], surface_point, area, normal);
40 : surface_point(sp), area(a), normal(n) {
50 double get_area()
const {
return area; }
73 IMPALGEBRA_END_NAMESPACE
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed.
double get_area(const Geometry &)
Compute the area of any surface object.
Atom get_atom(Residue rd, AtomType at)
Return a particle atom from the residue.
A more IMP-like version of the std::vector.
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
A class for storing lists of IMP items.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
Macros to help in implementing Value objects.
Represent a point on the Connolly surface.
Macros to help with objects that can be printed to a stream.
ConnollySurfacePoints get_connolly_surface(const algebra::Sphere3Ds &spheres, double density, double probe_radius)