BoundingVolume
from panda3d.core import BoundingVolume
- class BoundingVolume
Bases:
TypedReferenceCount
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.
Inheritance diagram
- BTBest = 1
- BTBox = 3
- BTDefault = 0
- BTFastest = 4
- BTSphere = 2
- BT_best = 1
- BT_box = 3
- BT_default = 0
- BT_fastest = 4
- BT_sphere = 2
- IFAll = 4
- IFDontUnderstand = 8
- IFNoIntersection = 0
- IFPossible = 1
- IFSome = 2
- IF_all = 4
- IF_dont_understand = 8
- IF_no_intersection = 0
- IF_possible = 1
- IF_some = 2
- __init__(*args, **kwargs)
- contains()
C++ Interface: contains(BoundingVolume self, const BoundingVolume vol)
- /**
Returns the appropriate set of IntersectionFlags to indicate the amount of
intersection with the indicated volume.
*/
- extendBy()
C++ Interface: extend_by(const BoundingVolume self, const BoundingVolume vol)
- /**
Increases the size of the volume to include the given volume.
*/
- extend_by()
C++ Interface: extend_by(const BoundingVolume self, const BoundingVolume vol)
- /**
Increases the size of the volume to include the given volume.
*/
- getClassType()
C++ Interface: get_class_type()
- get_class_type()
C++ Interface: get_class_type()
- isEmpty()
C++ Interface: is_empty(BoundingVolume self)
- /**
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.
*/
- isInfinite()
C++ Interface: is_infinite(BoundingVolume self)
- /**
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.
*/
- is_empty()
C++ Interface: is_empty(BoundingVolume self)
- /**
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()
C++ Interface: is_infinite(BoundingVolume self)
- /**
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.
*/
- makeCopy()
C++ Interface: make_copy(BoundingVolume self)
- make_copy()
C++ Interface: make_copy(BoundingVolume self)
- output()
C++ Interface: output(BoundingVolume self, ostream out)
- setInfinite()
C++ Interface: set_infinite(const BoundingVolume self)
- /**
Marks the volume as infinite, even if it is normally finite. You can think
of this as an infinite extend_by() operation.
*/