Panda3D
|
A special kind of GeometricBoundingVolume that is known to be finite. More...
#include "finiteBoundingVolume.h"
Public Member Functions | |
virtual const FiniteBoundingVolume * | as_finite_bounding_volume () const |
Virtual downcast method. | |
virtual TypeHandle | force_init_type () |
virtual LPoint3 | get_max () const =0 |
virtual LPoint3 | get_min () const =0 |
virtual TypeHandle | get_type () const |
virtual PN_stdfloat | get_volume () const |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. | |
Protected Member Functions | |
virtual bool | around_lines (const BoundingVolume **first, const BoundingVolume **last) |
Double-dispatch support: called by around_other() when the type of the first element in the list is known to be a nonempty line. | |
virtual bool | around_planes (const BoundingVolume **first, const BoundingVolume **last) |
Double-dispatch support: called by around_other() when the type of the first element in the list is known to be a nonempty plane. |
A special kind of GeometricBoundingVolume that is known to be finite.
It is possible to query this kind of volume for its minimum and maximum extents.
Definition at line 29 of file finiteBoundingVolume.h.
bool FiniteBoundingVolume::around_lines | ( | const BoundingVolume ** | first, |
const BoundingVolume ** | last | ||
) | [protected, virtual] |
Double-dispatch support: called by around_other() when the type of the first element in the list is known to be a nonempty line.
Reimplemented from BoundingVolume.
Definition at line 62 of file finiteBoundingVolume.cxx.
bool FiniteBoundingVolume::around_planes | ( | const BoundingVolume ** | first, |
const BoundingVolume ** | last | ||
) | [protected, virtual] |
Double-dispatch support: called by around_other() when the type of the first element in the list is known to be a nonempty plane.
Reimplemented from BoundingVolume.
Definition at line 78 of file finiteBoundingVolume.cxx.
const FiniteBoundingVolume * FiniteBoundingVolume::as_finite_bounding_volume | ( | ) | const [virtual] |
Virtual downcast method.
Returns this object as a pointer of the indicated type, if it is in fact that type. Returns NULL if it is not that type.
Reimplemented from BoundingVolume.
Definition at line 50 of file finiteBoundingVolume.cxx.
Referenced by BoundingSphere::around_finite().
static void FiniteBoundingVolume::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from GeometricBoundingVolume.
Reimplemented in BoundingBox, BoundingHexahedron, and BoundingSphere.
Definition at line 48 of file finiteBoundingVolume.h.
References GeometricBoundingVolume::init_type().
Referenced by BoundingSphere::init_type(), BoundingHexahedron::init_type(), and BoundingBox::init_type().