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)