Panda3D
Public Member Functions | Static Public Member Functions | Protected Member Functions
FiniteBoundingVolume Class Reference

A special kind of GeometricBoundingVolume that is known to be finite. More...

#include "finiteBoundingVolume.h"

Inheritance diagram for FiniteBoundingVolume:
GeometricBoundingVolume BoundingVolume TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase BoundingBox BoundingHexahedron BoundingSphere

List of all members.

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.

Detailed Description

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.


Member Function Documentation

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.

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 BoundingHexahedron, BoundingBox, and BoundingSphere.

Definition at line 48 of file finiteBoundingVolume.h.

References GeometricBoundingVolume::init_type().

Referenced by BoundingSphere::init_type(), BoundingBox::init_type(), and BoundingHexahedron::init_type().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations