openvrml::axis_aligned_bounding_box Class Reference

An axis-aligned bounding box. More...

Inheritance diagram for openvrml::axis_aligned_bounding_box:

Public Member Functions

virtual ~axis_aligned_bounding_box () throw ()
 Destroy.
- Public Member Functions inherited from openvrml::bounding_volume
virtual ~bounding_volume ()=0 throw ()
 Destroy.
void maximize ()
 Maximize the bounding volume.
bool maximized () const throw ()
 Indicates whether the bounding volume is maximized.
intersection intersect_frustum (const openvrml::frustum &frustum) const
 Intersect this bounding_volume with a frustum.
void extend (const vec3f &p)
 Extend the bounding volume to enclose p.
void extend (const bounding_volume &bv)
 Extend the bounding_volume to enclose bv.
void enclose (const std::vector< vec3f > &points)
 Enclose the given set of points.
void ortho_transform (const mat4f &M)
 Transform this bounding volume using an orthogonal transfom.
void transform (const mat4f &M)
 Transform this bounding volume using an affine transfom.

Private Member Functions

virtual void do_maximize ()
 Implement me!
virtual bool do_maximized () const
 Implement me!
virtual intersection do_intersect_frustum (const openvrml::frustum &frustum) const
virtual void do_extend (const vec3f &p)
virtual void do_extend (const axis_aligned_bounding_box &b)
virtual void do_extend (const bounding_sphere &b)
virtual void do_enclose (const std::vector< vec3f > &points)
 Enclose the given set of points.
virtual void do_ortho_transform (const mat4f &M)
 Implement me!
virtual void do_transform (const mat4f &M)
 Implement me!

Additional Inherited Members

- Public Types inherited from openvrml::bounding_volume
enum  intersection {
  outside = -1,
  partial = 0,
  inside = 1
}
 Indicates the type of intersection. More...

Detailed Description

An axis-aligned bounding box.

Constructor & Destructor Documentation

openvrml::axis_aligned_bounding_box::~axis_aligned_bounding_box ( ) throw ()
virtual

Destroy.

Member Function Documentation

void openvrml::axis_aligned_bounding_box::do_maximize ( )
privatevirtual

Implement me!

bool openvrml::axis_aligned_bounding_box::do_maximized ( ) const
privatevirtual

Implement me!

openvrml::bounding_volume::intersection openvrml::axis_aligned_bounding_box::do_intersect_frustum ( const openvrml::frustum frustum) const
privatevirtual
void openvrml::axis_aligned_bounding_box::do_extend ( const vec3f p)
privatevirtual
void openvrml::axis_aligned_bounding_box::do_extend ( const axis_aligned_bounding_box b)
privatevirtual
void openvrml::axis_aligned_bounding_box::do_extend ( const bounding_sphere b)
privatevirtual
void openvrml::axis_aligned_bounding_box::do_enclose ( const std::vector< vec3f > &  points)
privatevirtual

Enclose the given set of points.

This resets the volume from any previous values.

Parameters
[in]pointspoints.
void openvrml::axis_aligned_bounding_box::do_ortho_transform ( const mat4f M)
privatevirtual

Implement me!

void openvrml::axis_aligned_bounding_box::do_transform ( const mat4f M)
privatevirtual

Implement me!