Panda3D
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
UnionBoundingVolume Class Reference

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

Inheritance diagram for UnionBoundingVolume:
GeometricBoundingVolume BoundingVolume TypedReferenceCount TypedObject ReferenceCount

Public Member Functions

 __init__ ()
 Constructs an empty union. More...
 
 addComponent (const GeometricBoundingVolume component)
 Adds a new component to the volume. More...
 
 clearComponents ()
 Removes all components from the volume. More...
 
 filterIntersection (const BoundingVolume volume)
 Removes from the union any components that have no intersection with the indicated volume. More...
 
const GeometricBoundingVolume getComponent (int n)
 Returns the nth component in the union. More...
 
list getComponents ()
 
int getNumComponents ()
 Returns the number of components in the union. More...
 
 operator new (int size)
 
- Public Member Functions inherited from GeometricBoundingVolume
int contains (const GeometricBoundingVolume vol)
 Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume. More...
 
int contains (const LPoint3 point)
 Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point. More...
 
int contains (const LPoint3 a, const LPoint3 b)
 Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment. More...
 
bool extendBy (const GeometricBoundingVolume vol)
 Increases the size of the volume to include the given volume. More...
 
bool extendBy (const LPoint3 point)
 Increases the size of the volume to include the given point. More...
 
LPoint3 getApproxCenter ()
 
 xform (const LMatrix4 mat)
 
- Public Member Functions inherited from BoundingVolume
int contains (const BoundingVolume vol)
 Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume. More...
 
bool extendBy (const BoundingVolume vol)
 Increases the size of the volume to include the given volume. More...
 
bool isEmpty ()
 Any kind of volume might be empty. More...
 
bool isInfinite ()
 The other side of the empty coin is an infinite volume. More...
 
BoundingVolume makeCopy ()
 
 output (Ostream out)
 
 setInfinite ()
 Marks the volume as infinite, even if it is normally finite. More...
 
 write (Ostream out, int indent_level)
 
- Public Member Functions inherited from TypedObject
TypeHandle getType ()
 
int getTypeIndex ()
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool isExactType (TypeHandle handle)
 Returns true if the current object is the indicated type exactly. More...
 
bool isOfType (TypeHandle handle)
 Returns true if the current object is or derives from the indicated type. More...
 
- Public Member Functions inherited from ReferenceCount
int getRefCount ()
 Returns the current reference count. More...
 
 ref ()
 Explicitly increments the reference count. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
bool unref ()
 Explicitly decrements the reference count. More...
 

Static Public Member Functions

static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from GeometricBoundingVolume
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from BoundingVolume
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 

Public Attributes

const GeometricBoundingVolume components []
 
- Public Attributes inherited from TypedObject
TypeHandle type
 Returns the TypeHandle representing this object's type. More...
 
- Public Attributes inherited from ReferenceCount
int ref_count
 The current reference count. More...
 

Additional Inherited Members

- Public Types inherited from BoundingVolume
enum  BoundsType {
  BT_default = 0, BT_best = 1, BT_sphere = 2, BT_box = 3,
  BT_fastest = 4
}
 
enum  IntersectionFlags {
  IF_no_intersection = 0, IF_possible = 1, IF_some = 2, IF_all = 4,
  IF_dont_understand = 8
}
 

Detailed Description

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.

Member Function Documentation

◆ __init__()

__init__ ( )

Constructs an empty union.

◆ addComponent()

addComponent ( const GeometricBoundingVolume  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.

◆ clearComponents()

clearComponents ( )

Removes all components from the volume.

◆ filterIntersection()

filterIntersection ( const BoundingVolume  volume)

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

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getComponent()

const GeometricBoundingVolume getComponent ( int  n)

Returns the nth component in the union.

◆ getComponents()

list getComponents ( )

◆ getNumComponents()

int getNumComponents ( )

Returns the number of components in the union.

◆ operator new()

operator new ( int  size)

Member Data Documentation

◆ components

const GeometricBoundingVolume components[]