class UnionBoundingVolume

Bases: GeometricBoundingVolume

This special bounding volume is the union of all of its constituent bounding volumes.

A point is defined to be within a UnionBoundingVolume if it is within any one or more of its component bounding volumes.

Inheritance diagram

Inheritance diagram of UnionBoundingVolume


Constructs an empty union.

void add_component(GeometricBoundingVolume const *component)

Adds a new component to the volume. This does not necessarily increase the total number of components by one, and you may or may not be able to find this component in the volume by a subsequent call to get_component(); certain optimizations may prevent the component from being added, or have other unexpected effects on the total set of components.

void clear_components(void)

Removes all components from the volume.

void filter_intersection(BoundingVolume const *volume)

Removes from the union any components that have no intersection with the indicated volume.

static TypeHandle get_class_type(void)
GeometricBoundingVolume const *get_component(int n) const

Returns the nth component in the union.

int get_num_components(void) const

Returns the number of components in the union.

bool validate_ptr(void const *ptr)