Public Member Functions | Private Attributes
vgl_orient_box_3d< Type > Class Template Reference

#include <vgl_orient_box_3d.h>

List of all members.

Public Member Functions

 vgl_orient_box_3d ()
 vgl_orient_box_3d (vgl_box_3d< Type > const &box)
 constructor with only box definition, the direction will be set to (0,0,1) with no rotation.
 vgl_orient_box_3d (vgl_box_3d< Type > const &box, vnl_quaternion< double > const &orient)
 constructor with box and the orientation.
 vgl_orient_box_3d (vgl_point_3d< Type > const &p0, vgl_point_3d< Type > const &px, vgl_point_3d< Type > const &py, vgl_point_3d< Type > const &pz)
 constructor from four corner points.
virtual ~vgl_orient_box_3d (void)
bool operator== (vgl_orient_box_3d< Type > const &obb) const
Type width () const
Type height () const
Type depth () const
Type volume () const
vcl_vector< vgl_point_3d< Type > > corners ()
 returns the 8 corner points of the box.
bool contains (Type const &x, Type const &y, Type const &z) const
 Return true if (x,y,z) is inside this box.
bool contains (vgl_point_3d< Type > const &p) const
 Return true if point is inside this box.
vcl_ostream & print (vcl_ostream &s) const
vcl_istream & read (vcl_istream &s)

Private Attributes

vgl_box_3d< Type > box_
 regular AABB(axis-aligned bounding box).
vnl_quaternion< double > orient_
 orientation of the box as a quaternion.

Detailed Description

template<class Type>
class vgl_orient_box_3d< Type >

Definition at line 25 of file vgl_orient_box_3d.h.


Constructor & Destructor Documentation

template<class Type>
vgl_orient_box_3d< Type >::vgl_orient_box_3d ( ) [inline]

Definition at line 28 of file vgl_orient_box_3d.h.

template<class Type>
vgl_orient_box_3d< Type >::vgl_orient_box_3d ( vgl_box_3d< Type > const &  box) [inline]

constructor with only box definition, the direction will be set to (0,0,1) with no rotation.

Definition at line 31 of file vgl_orient_box_3d.h.

template<class Type>
vgl_orient_box_3d< Type >::vgl_orient_box_3d ( vgl_box_3d< Type > const &  box,
vnl_quaternion< double > const &  orient 
) [inline]

constructor with box and the orientation.

Definition at line 35 of file vgl_orient_box_3d.h.

template<class Type >
vgl_orient_box_3d< Type >::vgl_orient_box_3d ( vgl_point_3d< Type > const &  p0,
vgl_point_3d< Type > const &  px,
vgl_point_3d< Type > const &  py,
vgl_point_3d< Type > const &  pz 
)

constructor from four corner points.

The three directions from the first of these to the three other points must be mutually orthogonal.

Definition at line 15 of file vgl_orient_box_3d.txx.

template<class Type>
virtual vgl_orient_box_3d< Type >::~vgl_orient_box_3d ( void  ) [inline, virtual]

Definition at line 43 of file vgl_orient_box_3d.h.


Member Function Documentation

template<class Type >
bool vgl_orient_box_3d< Type >::contains ( Type const &  x,
Type const &  y,
Type const &  z 
) const

Return true if (x,y,z) is inside this box.

Definition at line 94 of file vgl_orient_box_3d.txx.

template<class Type>
bool vgl_orient_box_3d< Type >::contains ( vgl_point_3d< Type > const &  p) const [inline]

Return true if point is inside this box.

Definition at line 60 of file vgl_orient_box_3d.h.

template<class Type >
vcl_vector< vgl_point_3d< Type > > vgl_orient_box_3d< Type >::corners ( )

returns the 8 corner points of the box.

Definition at line 52 of file vgl_orient_box_3d.txx.

template<class Type>
Type vgl_orient_box_3d< Type >::depth ( ) const [inline]

Definition at line 52 of file vgl_orient_box_3d.h.

template<class Type>
Type vgl_orient_box_3d< Type >::height ( ) const [inline]

Definition at line 51 of file vgl_orient_box_3d.h.

template<class Type>
bool vgl_orient_box_3d< Type >::operator== ( vgl_orient_box_3d< Type > const &  obb) const [inline]

Definition at line 45 of file vgl_orient_box_3d.h.

template<class Type >
vcl_ostream & vgl_orient_box_3d< Type >::print ( vcl_ostream &  s) const

Definition at line 113 of file vgl_orient_box_3d.txx.

template<class Type >
vcl_istream & vgl_orient_box_3d< Type >::read ( vcl_istream &  s)

Definition at line 119 of file vgl_orient_box_3d.txx.

template<class Type>
Type vgl_orient_box_3d< Type >::volume ( ) const [inline]

Definition at line 53 of file vgl_orient_box_3d.h.

template<class Type>
Type vgl_orient_box_3d< Type >::width ( ) const [inline]

Definition at line 50 of file vgl_orient_box_3d.h.


Member Data Documentation

template<class Type>
vgl_box_3d<Type> vgl_orient_box_3d< Type >::box_ [private]

regular AABB(axis-aligned bounding box).

Definition at line 68 of file vgl_orient_box_3d.h.

template<class Type>
vnl_quaternion<double> vgl_orient_box_3d< Type >::orient_ [private]

orientation of the box as a quaternion.

Definition at line 71 of file vgl_orient_box_3d.h.


The documentation for this class was generated from the following files: