8 #ifndef IMPALGEBRA_SPHERE_PATCH_3D_H
9 #define IMPALGEBRA_SPHERE_PATCH_3D_H
14 #include <cereal/access.hpp>
16 IMPALGEBRA_BEGIN_NAMESPACE
32 bool get_contains(
const Vector3D &p)
const;
33 Plane3D get_plane()
const {
return crossing_plane_; }
37 crossing_plane_.show(out);
46 friend class cereal::access;
48 template<
class Archive>
void serialize(Archive &ar) {
49 ar(sph_, crossing_plane_);
57 IMPALGEBRA_END_NAMESPACE
Base class for geometric types.
SphereD< 3 > Sphere3D
Typedef for Python.
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed.
#define IMP_AREA_GEOMETRY_METHODS(Name, name, area, bounding_box)
Implement the needed namespace methods for a geometry type.
Base class for geometric types.
#define IMP_UNUSED(variable)
BoundingBoxD< 3 > get_bounding_box(const Cone3D &g)
A sphere patch is defined as all points above the plane and on the sphere.
#define IMP_NOT_IMPLEMENTED
Use this to mark that the method is not implemented yet.