Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

GeometricBoundingVolume Class Reference

#include <geometricBoundingVolume.h>

Inheritance diagram for GeometricBoundingVolume:

BoundingVolume TypedReferenceCount TypedObject ReferenceCount BoundingLine FiniteBoundingVolume OmniBoundingVolume BoundingHexahedron BoundingSphere List of all members.

Public Member Functions

INLINE_MATHUTIL GeometricBoundingVolume ()
INLINE_MATHUTIL bool extend_by (const LPoint3f &point)
INLINE_MATHUTIL bool around (const GeometricBoundingVolume **first, const GeometricBoundingVolume **last)
INLINE_MATHUTIL bool around (const LPoint3f *first, const LPoint3f *last)
INLINE_MATHUTIL int contains (const GeometricBoundingVolume *vol) const
INLINE_MATHUTIL int contains (const LPoint3f &point) const
INLINE_MATHUTIL int contains (const LPoint3f &a, const LPoint3f &b) const
virtual LPoint3f get_approx_center () const=0
virtual void xform (const LMatrix4f &mat)=0
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Public Attributes

PUBLISHED __pad0__: INLINE_MATHUTIL bool extend_by(const GeometricBoundingVolume *vol)

Protected Member Functions

virtual bool extend_by_point (const LPoint3f &point)
virtual bool around_points (const LPoint3f *first, const LPoint3f *last)
virtual int contains_point (const LPoint3f &point) const
virtual int contains_lineseg (const LPoint3f &a, const LPoint3f &b) const

Static Private Attributes

TypeHandle _type_handle

Constructor & Destructor Documentation

INLINE_MATHUTIL GeometricBoundingVolume::GeometricBoundingVolume  ) 
 


Member Function Documentation

INLINE_MATHUTIL bool GeometricBoundingVolume::around const LPoint3f *  first,
const LPoint3f *  last
 

INLINE_MATHUTIL bool GeometricBoundingVolume::around const GeometricBoundingVolume **  first,
const GeometricBoundingVolume **  last
 

Referenced by RopeNode::do_recompute_bound(), Geom::recompute_bound(), CollisionSegment::recompute_bound(), CollisionPolygon::recompute_bound(), and TextNode::recompute_internal_bound().

bool GeometricBoundingVolume::around_points const LPoint3f *  first,
const LPoint3f *  last
[protected, virtual]
 

Reimplemented in BoundingHexahedron, BoundingSphere, and OmniBoundingVolume.

Definition at line 30 of file geometricBoundingVolume.cxx.

References BoundingVolume::_flags, and BoundingVolume::F_empty.

INLINE_MATHUTIL int GeometricBoundingVolume::contains const LPoint3f &  a,
const LPoint3f &  b
const
 

INLINE_MATHUTIL int GeometricBoundingVolume::contains const LPoint3f &  point  )  const
 

INLINE_MATHUTIL int GeometricBoundingVolume::contains const GeometricBoundingVolume *  vol  )  const
 

Referenced by CollisionLevelState::any_in_bounds(), CollisionTraverser::compare_collider_to_geom(), CollisionTraverser::compare_collider_to_geom_node(), CollisionTraverser::compare_collider_to_node(), CollisionTraverser::compare_collider_to_solid(), LensNode::is_in_view(), and main().

int GeometricBoundingVolume::contains_lineseg const LPoint3f &  a,
const LPoint3f &  b
const [protected, virtual]
 

Reimplemented in BoundingHexahedron, BoundingSphere, and OmniBoundingVolume.

Definition at line 41 of file geometricBoundingVolume.cxx.

int GeometricBoundingVolume::contains_point const LPoint3f &  point  )  const [protected, virtual]
 

Reimplemented in BoundingHexahedron, BoundingSphere, and OmniBoundingVolume.

Definition at line 36 of file geometricBoundingVolume.cxx.

INLINE_MATHUTIL bool GeometricBoundingVolume::extend_by const LPoint3f &  point  ) 
 

Referenced by CollisionLevelState::prepare_collider().

bool GeometricBoundingVolume::extend_by_point const LPoint3f &  point  )  [protected, virtual]
 

Reimplemented in BoundingHexahedron, BoundingSphere, and OmniBoundingVolume.

Definition at line 25 of file geometricBoundingVolume.cxx.

virtual TypeHandle GeometricBoundingVolume::force_init_type void   )  [inline, virtual]
 

Reimplemented from BoundingVolume.

Reimplemented in BoundingHexahedron, BoundingLine, BoundingSphere, FiniteBoundingVolume, and OmniBoundingVolume.

Definition at line 81 of file geometricBoundingVolume.h.

References BoundingVolume::get_class_type(), and BoundingVolume::init_type().

virtual LPoint3f GeometricBoundingVolume::get_approx_center  )  const [pure virtual]
 

Implemented in BoundingHexahedron, BoundingLine, BoundingSphere, and OmniBoundingVolume.

Referenced by CullBinFrontToBack::add_object(), and CullBinBackToFront::add_object().

TypeHandle GeometricBoundingVolume::get_class_type void   )  [inline, static]
 

Reimplemented from BoundingVolume.

Reimplemented in BoundingHexahedron, BoundingLine, BoundingSphere, FiniteBoundingVolume, and OmniBoundingVolume.

Definition at line 70 of file geometricBoundingVolume.h.

Referenced by CullBinFrontToBack::add_object(), CullBinBackToFront::add_object(), CollisionLevelState::any_in_bounds(), WindowFramework::center_trackball(), CollisionTraverser::compare_collider_to_geom_node(), CollisionTraverser::compare_collider_to_node(), GraphicsEngine::do_cull(), OmniBoundingVolume::force_init_type(), FiniteBoundingVolume::force_init_type(), BoundingLine::force_init_type(), OmniBoundingVolume::get_type(), FiniteBoundingVolume::get_type(), BoundingLine::get_type(), OmniBoundingVolume::init_type(), FiniteBoundingVolume::init_type(), BoundingLine::init_type(), CullTraverserData::is_in_view_impl(), CollisionLevelState::prepare_collider(), CollisionTraverser::r_traverse(), and CollisionSegment::recompute_bound().

virtual TypeHandle GeometricBoundingVolume::get_type void   )  const [inline, virtual]
 

Reimplemented from BoundingVolume.

Reimplemented in BoundingHexahedron, BoundingLine, BoundingSphere, FiniteBoundingVolume, and OmniBoundingVolume.

Definition at line 78 of file geometricBoundingVolume.h.

References BoundingVolume::get_class_type().

void GeometricBoundingVolume::init_type void   )  [inline, static]
 

Reimplemented from BoundingVolume.

Reimplemented in BoundingHexahedron, BoundingLine, BoundingSphere, FiniteBoundingVolume, and OmniBoundingVolume.

Definition at line 73 of file geometricBoundingVolume.h.

References BoundingVolume::get_class_type(), BoundingVolume::init_type(), and register_type().

Referenced by ConfigureFn(), OmniBoundingVolume::force_init_type(), FiniteBoundingVolume::force_init_type(), BoundingLine::force_init_type(), OmniBoundingVolume::init_type(), FiniteBoundingVolume::init_type(), and BoundingLine::init_type().

virtual void GeometricBoundingVolume::xform const LMatrix4f &  mat  )  [pure virtual]
 

Implemented in BoundingHexahedron, BoundingLine, BoundingSphere, and OmniBoundingVolume.

Referenced by CollisionLevelState::apply_transform(), CollisionLevelState::prepare_collider(), and PandaNode::recompute_bound().


Member Data Documentation

PUBLISHED GeometricBoundingVolume::__pad0__
 

Reimplemented from BoundingVolume.

Reimplemented in BoundingLine, BoundingSphere, FiniteBoundingVolume, and OmniBoundingVolume.

Definition at line 40 of file geometricBoundingVolume.h.

TypeHandle GeometricBoundingVolume::_type_handle [static, private]
 

Reimplemented from BoundingVolume.

Reimplemented in BoundingHexahedron, BoundingLine, BoundingSphere, FiniteBoundingVolume, and OmniBoundingVolume.

Definition at line 21 of file geometricBoundingVolume.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:12:20 2003 for Panda by doxygen1.3