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

This defines a bounding sphere, consisting of a center and a radius. It is always a sphere, and never an ellipsoid or other quadric. More...

Inheritance diagram for BoundingSphere:
FiniteBoundingVolume GeometricBoundingVolume BoundingVolume TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

Public Member Functions

 __init__ ()
 Constructs an empty sphere. More...
 
 __init__ (const LPoint3 center, float radius)
 Constructs a specific sphere. More...
 
LPoint3 getCenter ()
 
float getRadius ()
 
 operator new (size_t size)
 
- Public Member Functions inherited from FiniteBoundingVolume
LPoint3 getMax ()
 
LPoint3 getMin ()
 
float getVolume ()
 
- 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. 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. More...
 
bool isInfinite ()
 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.) More...
 
BoundingVolume makeCopy ()
 
 output (Ostream out)
 
 setInfinite ()
 Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation. More...
 
 write (Ostream out, int indent_level)
 
- Public Member Functions inherited from TypedObject
TypeHandle getType ()
 Derived classes should override this function to return get_class_type(). More...
 
int getTypeIndex ()
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index(). 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. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise. More...
 
bool unref ()
 Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete(). More...
 

Static Public Member Functions

static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from FiniteBoundingVolume
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 ()
 

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
}
 This enum is used to control the automatic generation of bounding volumes. More...
 
enum  IntersectionFlags {
  IF_no_intersection = 0, IF_possible = 1, IF_some = 2, IF_all = 4,
  IF_dont_understand = 8
}
 The contains() functions return the union of one or more of these bits. More...
 

Detailed Description

This defines a bounding sphere, consisting of a center and a radius. It is always a sphere, and never an ellipsoid or other quadric.

Member Function Documentation

◆ __init__() [1/2]

__init__ ( )

Constructs an empty sphere.

◆ __init__() [2/2]

__init__ ( const LPoint3  center,
float  radius 
)

Constructs a specific sphere.

◆ getCenter()

LPoint3 getCenter ( )

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getRadius()

float getRadius ( )

◆ operator new()

operator new ( size_t  size)