An axis-aligned bounding box; that is, a minimum and maximum coordinate triple.
More...
Public Member Functions |
| | BoundingBox () |
| | Constructs an empty box object.
|
| | BoundingBox (const LPoint3 &min, const LPoint3 &max) |
| | Constructs a specific box object.
|
| virtual const BoundingBox * | as_bounding_box () const |
| | Virtual downcast method.
|
|
virtual TypeHandle | force_init_type () |
|
virtual LPoint3 | get_approx_center () const |
|
virtual LPoint3 | get_max () const |
| const LPoint3 & | get_maxq () const |
| | An inline accessor for the maximum value.
|
|
virtual LPoint3 | get_min () const |
| const LPoint3 & | get_minq () const |
| | An inline accessor for the minimum value.
|
| int | get_num_planes () const |
| | Returns 6: the number of faces of a rectangular solid.
|
| int | get_num_points () const |
| | Returns 8: the number of vertices of a rectangular solid.
|
| LPlane | get_plane (int n) const |
| | Returns the nth face of the rectangular solid.
|
| LPoint3 | get_point (int n) const |
| | Returns the nth vertex of the rectangular solid.
|
|
virtual TypeHandle | get_type () const |
|
virtual PN_stdfloat | get_volume () const |
|
virtual BoundingVolume * | make_copy () const |
|
| MAKE_SEQ (get_points, get_num_points, get_point) |
|
| MAKE_SEQ (get_planes, get_num_planes, get_plane) |
|
virtual void | output (ostream &out) const |
|
virtual void | xform (const LMatrix4 &mat) |
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_finite (const BoundingVolume **first, const BoundingVolume **last) |
| | Generic handler for a FiniteBoundingVolume.
|
|
virtual bool | around_other (BoundingVolume *other, const BoundingVolume **first, const BoundingVolume **last) const |
| virtual bool | around_points (const LPoint3 *first, const LPoint3 *last) |
| | Puts the volume around the indicated list of points, identified by an STL-style begin/end list.
|
| virtual int | contains_box (const BoundingBox *box) const |
| | Double-dispatch support: called by contains_other() when the type we're testing for intersection is known to be a box.
|
| virtual int | contains_finite (const FiniteBoundingVolume *volume) const |
| | Generic handler for a FiniteBoundingVolume.
|
| virtual int | contains_hexahedron (const BoundingHexahedron *hexahedron) const |
| | Double-dispatch support: called by contains_other() when the type we're testing for intersection is known to be a hexahedron.
|
| virtual int | contains_line (const BoundingLine *line) const |
| | Double-dispatch support: called by contains_other() when the type we're testing for intersection is known to be a line.
|
| virtual int | contains_lineseg (const LPoint3 &a, const LPoint3 &b) const |
| | Tests whether the volume contains the indicated line segment.
|
|
virtual int | contains_other (const BoundingVolume *other) const |
| virtual int | contains_plane (const BoundingPlane *plane) const |
| | Double-dispatch support: called by contains_other() when the type we're testing for intersection is known to be a plane.
|
| virtual int | contains_point (const LPoint3 &point) const |
| | Tests whether the volume contains the indicated point.
|
| virtual bool | extend_by_box (const BoundingBox *box) |
| | Double-dispatch support: called by extend_other() when the type we're extending by is known to be a box.
|
| virtual bool | extend_by_finite (const FiniteBoundingVolume *volume) |
| | Generic handler for a FiniteBoundingVolume.
|
| virtual bool | extend_by_point (const LPoint3 &point) |
| | Extends the volume to include the indicated point.
|
|
virtual bool | extend_other (BoundingVolume *other) const |
Friends |
|
class | BoundingSphere |
An axis-aligned bounding box; that is, a minimum and maximum coordinate triple.
This box is always axis-aligned. If you need a more general bounding box, try BoundingHexahedron.
Definition at line 31 of file boundingBox.h.