from panda3d.core import BoundingVolume
- class BoundingVolume
This is an abstract class for any volume in any sense which can be said to define the locality of reference of a node in a graph, along with all of its descendants. It is not necessarily a geometric volume (although see
GeometricBoundingVolume); this is simply an abstract interface for bounds of any sort.
This enum is used to control the automatic generation of bounding volumes.
enumerator BT_default = 0
enumerator BT_best = 1
enumerator BT_sphere = 2
enumerator BT_box = 3
enumerator BT_fastest = 4
- enumerator BT_default = 0
contains()functions return the union of one or more of these bits.
enumerator IF_no_intersection = 0
If no bits are set, it is known that there is no intersection.
enumerator IF_possible = 1
IF_possible is set if there might be an intersection.
enumerator IF_some = 2
IF_some is set if there is definitely an intersection. In this case, IF_possible will also be set.
enumerator IF_all = 4
When IF_all is set, both IF_possible and IF_some will also be set.
enumerator IF_dont_understand = 8
IF_dont_understand is set if the particular volumevolume intersection test has not been implemented.
- enumerator IF_no_intersection = 0
- contains(vol: BoundingVolume) int
Returns the appropriate set of
IntersectionFlagsto indicate the amount of intersection with the indicated volume.
- is_empty() bool
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.
- is_infinite() bool
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.)
It completely intersects with all other volumes except empty volumes.
Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite
- enum BoundsType