8 #ifndef IMPALGEBRA_CONE_3D_H
9 #define IMPALGEBRA_CONE_3D_H
19 #include <cereal/access.hpp>
23 IMPALGEBRA_BEGIN_NAMESPACE
43 double get_height()
const {
return seg_.get_length(); }
50 bool get_contains(
const Vector3D &v)
const;
61 friend class cereal::access;
63 template<
class Archive>
void serialize(Archive &ar) {
72 IMPALGEBRA_END_NAMESPACE
Base class for geometric types.
double get_height(const Surface &s, const XYZR &d)
Get height of sphere above surface.
Simple 3D sphere patch class.
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed.
Simple implementation of segments in 3D.
Vector3D get_tip() const
Get the vertex of the cone.
Base class for geometric types.
Macros to control compiler warnings.
#define IMP_UNUSED(variable)
Vector3D get_direction() const
Get the direction of the axis of the cone.
#define IMP_VOLUME_GEOMETRY_METHODS(Name, name, area, volume, bounding_box)
Implement the needed namespace methods for a geometry type.
double get_radius() const
Get the radius of the base circle.
Various useful constants.
Simple implementation of segments in 3D.
#define IMP_NOT_IMPLEMENTED
Use this to mark that the method is not implemented yet.
Macros to help with objects that can be printed to a stream.