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

Inheritance diagram of BoundingVolume

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.

*/

set_infinite()

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.

*/

write()

C++ Interface: write(BoundingVolume self, ostream out, int indent_level)

/**

*/