2 #ifndef vgl_orient_box_3d_operators_hxx_ 3 #define vgl_orient_box_3d_operators_hxx_ 8 #include <vnl/vnl_quaternion.h> 9 #include <vnl/vnl_vector_fixed.h> 12 # include <vcl_msvc_warnings.h> 19 if (plist.size() == 0)
21 else if (plist.size() == 1)
23 else if (plist.size() == 2)
28 bb.
add(plist.front() + rot_dir);
29 vnl_quaternion<double> orient(vnl_vector_fixed<double,3>(dir.
x(), dir.
y(), dir.
z()), 0.0);
33 assert(!
"Not yet implemented minimal_box() for more than 2 points");
37 #undef VGL_ORIENT_BOX_3D_OPERATORS_INSTANTIATE 38 #define VGL_ORIENT_BOX_3D_OPERATORS_INSTANTIATE(T) \ 39 template class vgl_orient_box_3d_operators<T > 41 #endif // vgl_orient_box_3d_operators_hxx_
void add(vgl_point_3d< Type > const &p)
Add a point to this box.
double length() const
Return the length of this vector.
Direction vector in Euclidean 3D space, templated by type of element.
Represents a cartesian 3D box.
Compute the minimal oriented bounding box for several 3D shapes.
static vgl_orient_box_3d< T > minimal_box(vgl_point_3d< T > const &p)