IntersectionBoundingVolume

class IntersectionBoundingVolume

Bases: GeometricBoundingVolume

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

A point is defined to be within an IntersectionBoundingVolume if it is within all of its component bounding volumes.

Inheritance diagram

Inheritance diagram of IntersectionBoundingVolume

IntersectionBoundingVolume(void)

Constructs an empty intersection.

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.

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

Returns the nth component in the intersection.

int get_num_components(void) const

Returns the number of components in the intersection.

bool validate_ptr(void const *ptr)