|
Panda3D
|
This is an abstract class for any volume in any sense which can be said to define the locality of reference of a node in a graph, along with all of its descendants. More...
Public Types | |
| enum | BoundsType { BTDefault = 0, BTBest = 1, BTSphere = 2, BTBox = 3 } |
| enum | IntersectionFlags { IFNoIntersection = 0, IFPossible = 1, IFSome = 2, IFAll = 4, IFDontUnderstand = 8 } |
Public Member Functions | |
| int | contains (BoundingVolume const vol) |
| Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume. | |
| bool | extendBy (BoundingVolume const vol) |
| Increases the size of the volume to include the given volume. | |
| bool | isEmpty () |
| Any kind of volume might be empty. | |
| bool | isInfinite () |
| The other side of the empty coin is an infinite volume. | |
| BoundingVolume | makeCopy () |
| output (ostream out) | |
| setInfinite () | |
| Marks the volume as infinite, even if it is normally finite. | |
| write (ostream out, int indent_level) | |
| write (ostream out) | |
Static Public Member Functions | |
| static TypeHandle | getClassType () |
This is an abstract class for any volume in any sense which can be said to define the locality of reference of a node in a graph, along with all of its descendants.
It is not necessarily a geometric volume (although see GeometricBoundingVolume); this is simply an abstract interface for bounds of any sort.
| enum BoundsType |
| enum IntersectionFlags |
| int contains | ( | BoundingVolume const | vol | ) |
Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
| bool extendBy | ( | BoundingVolume const | vol | ) |
Increases the size of the volume to include the given volume.
| static TypeHandle getClassType | ( | ) | [static] |
Reimplemented from TypedReferenceCount.
Reimplemented in GeometricBoundingVolume, FiniteBoundingVolume, BoundingBox, BoundingHexahedron, BoundingLine, BoundingPlane, BoundingSphere, IntersectionBoundingVolume, OmniBoundingVolume, and UnionBoundingVolume.
| 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.
| 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.)
It completely intersects with all other volumes except empty volumes.
| 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.
| write | ( | ostream | out | ) |
1.7.3