Panda3D
|
This funny bounding volume is an infinite line with no thickness and extending to infinity in both directions. More...
Public Member Functions | |
__init__ (const LPoint3 a, const LPoint3 b) | |
const LPoint3 | getPointA () |
Returns the first point that defines the line. More... | |
LPoint3 | getPointB () |
Returns the second point that defines the line. More... | |
operator new (size_t size) | |
![]() | |
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) | |
![]() | |
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) | |
![]() | |
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... | |
![]() | |
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 TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Additional Inherited Members | |
![]() | |
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... | |
This funny bounding volume is an infinite line with no thickness and extending to infinity in both directions.
Note that it always extends in both directions, despite the fact that you specify two points to the constructor. These are not endpoints, they are two arbitrary points on the line.
|
static |
const LPoint3 getPointA | ( | ) |
Returns the first point that defines the line.
LPoint3 getPointB | ( | ) |
Returns the second point that defines the line.
operator new | ( | size_t | size | ) |