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.