Panda3D
|
This is another abstract class, for a general class of bounding volumes that actually enclose points in 3-d space, such as BSP's and bounding spheres. More...
Public Member Functions | |
int | contains (const GeometricBoundingVolume vol) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume. More... | |
int | contains (const LPoint3 point) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point. More... | |
int | contains (const LPoint3 a, const LPoint3 b) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment. More... | |
bool | extendBy (const GeometricBoundingVolume vol) |
Increases the size of the volume to include the given volume. More... | |
bool | extendBy (const LPoint3 point) |
Increases the size of the volume to include the given point. More... | |
LPoint3 | getApproxCenter () |
xform (const LMatrix4 mat) | |
![]() | |
int | contains (const BoundingVolume vol) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume. More... | |
bool | extendBy (const BoundingVolume vol) |
Increases the size of the volume to include the given volume. More... | |
bool | isEmpty () |
Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes. More... | |
bool | isInfinite () |
The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.) More... | |
BoundingVolume | makeCopy () |
output (Ostream out) | |
setInfinite () | |
Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation. More... | |
write (Ostream out, int indent_level) | |
![]() | |
TypeHandle | getType () |
Derived classes should override this function to return get_class_type(). More... | |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index(). More... | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. More... | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. More... | |
![]() | |
int | getRefCount () |
Returns the current reference count. More... | |
ref () | |
Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise. More... | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise. More... | |
bool | unref () |
Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete(). More... | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Additional Inherited Members | |
![]() | |
enum | BoundsType { BT_default = 0, BT_best = 1, BT_sphere = 2, BT_box = 3, BT_fastest = 4 } |
This enum is used to control the automatic generation of bounding volumes. More... | |
enum | IntersectionFlags { IF_no_intersection = 0, IF_possible = 1, IF_some = 2, IF_all = 4, IF_dont_understand = 8 } |
The contains() functions return the union of one or more of these bits. More... | |
This is another abstract class, for a general class of bounding volumes that actually enclose points in 3-d space, such as BSP's and bounding spheres.
int contains | ( | const GeometricBoundingVolume | vol | ) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
int contains | ( | const LPoint3 | point | ) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.
bool extendBy | ( | const GeometricBoundingVolume | vol | ) |
Increases the size of the volume to include the given volume.
bool extendBy | ( | const LPoint3 | point | ) |
Increases the size of the volume to include the given point.
LPoint3 getApproxCenter | ( | ) |
|
static |
xform | ( | const LMatrix4 | mat | ) |