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

Private Member Functions

virtual void do_maximize ()
 Implement me! More...
 
virtual bool do_maximized () const
 Implement me! More...
 
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. More...
 
virtual void do_ortho_transform (const mat4f &M)
 Implement me! More...
 
virtual void do_transform (const mat4f &M)
 Implement me! More...
 

Additional Inherited Members

- Public Types inherited from openvrml::bounding_volume

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!

Implements openvrml::bounding_volume.

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

Implement me!

Implements openvrml::bounding_volume.

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.

Implements openvrml::bounding_volume.

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

Implement me!

Implements openvrml::bounding_volume.

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

Implement me!

Implements openvrml::bounding_volume.