Public Member Functions | Public Attributes | List of all members
vgl_orient_box_3d< Type > Class Template Reference

#include <vgl_algo_fwd.h>

Public Member Functions

 vgl_orient_box_3d ()=default
 
 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. More...
 
 vgl_orient_box_3d (vgl_box_3d< Type > const &box, vnl_quaternion< double > const &orient)
 constructor with box and the orientation. More...
 
 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. More...
 
virtual ~vgl_orient_box_3d (void)=default
 
bool operator== (vgl_orient_box_3d< Type > const &obb) const
 
Type width () const
 
Type height () const
 
Type depth () const
 
Type volume () const
 
std::vector< vgl_point_3d< Type > > corners () const
 returns the 8 corner points of the box. More...
 
vgl_point_3d< Type > centroid ()
 
vgl_box_3d< Type > const box ()
 
vgl_box_3d< Type > enclosing_box () const
 The axis-aligned box that encloses the oriented box. More...
 
bool contains (Type const &x, Type const &y, Type const &z) const
 Return true if (x,y,z) is inside this box. More...
 
bool contains (vgl_point_3d< Type > const &p) const
 Return true if point is inside this box. More...
 
std::ostream & print (std::ostream &s) const
 
std::istream & read (std::istream &s)
 

Public Attributes

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

Detailed Description

template<class Type>
class vgl_orient_box_3d< Type >

Definition at line 17 of file vgl_algo_fwd.h.

Constructor & Destructor Documentation

◆ vgl_orient_box_3d() [1/4]

template<class Type>
vgl_orient_box_3d< Type >::vgl_orient_box_3d ( )
default

◆ vgl_orient_box_3d() [2/4]

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 34 of file vgl_orient_box_3d.h.

◆ vgl_orient_box_3d() [3/4]

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 38 of file vgl_orient_box_3d.h.

◆ vgl_orient_box_3d() [4/4]

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 19 of file vgl_orient_box_3d.hxx.

◆ ~vgl_orient_box_3d()

template<class Type>
virtual vgl_orient_box_3d< Type >::~vgl_orient_box_3d ( void  )
virtualdefault

Member Function Documentation

◆ box()

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

Definition at line 59 of file vgl_orient_box_3d.h.

◆ centroid()

template<class Type>
vgl_point_3d<Type> vgl_orient_box_3d< Type >::centroid ( )
inline

Definition at line 58 of file vgl_orient_box_3d.h.

◆ contains() [1/2]

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 111 of file vgl_orient_box_3d.hxx.

◆ contains() [2/2]

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 68 of file vgl_orient_box_3d.h.

◆ corners()

template<class Type >
std::vector< vgl_point_3d< Type > > vgl_orient_box_3d< Type >::corners ( ) const

returns the 8 corner points of the box.

Definition at line 59 of file vgl_orient_box_3d.hxx.

◆ depth()

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

Definition at line 55 of file vgl_orient_box_3d.h.

◆ enclosing_box()

template<class Type >
vgl_box_3d< Type > vgl_orient_box_3d< Type >::enclosing_box ( ) const

The axis-aligned box that encloses the oriented box.

Definition at line 100 of file vgl_orient_box_3d.hxx.

◆ height()

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

Definition at line 54 of file vgl_orient_box_3d.h.

◆ operator==()

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

Definition at line 48 of file vgl_orient_box_3d.h.

◆ print()

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

Definition at line 130 of file vgl_orient_box_3d.hxx.

◆ read()

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

Definition at line 136 of file vgl_orient_box_3d.hxx.

◆ volume()

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

Definition at line 56 of file vgl_orient_box_3d.h.

◆ width()

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

Definition at line 53 of file vgl_orient_box_3d.h.

Member Data Documentation

◆ box_

template<class Type>
vgl_box_3d<Type> vgl_orient_box_3d< Type >::box_

regular AABB(axis-aligned bounding box).

Definition at line 76 of file vgl_orient_box_3d.h.

◆ orient_

template<class Type>
vnl_quaternion<double> vgl_orient_box_3d< Type >::orient_

orientation of the box as a quaternion.

Definition at line 79 of file vgl_orient_box_3d.h.


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