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

This defines a bounding convex hexahedron. More...

Inheritance diagram for BoundingHexahedron:
FiniteBoundingVolume GeometricBoundingVolume BoundingVolume TypedReferenceCount TypedObject ReferenceCount

Public Member Functions

 __init__ (const LFrustum frustum, bool is_ortho, CoordinateSystem cs)
 
 __init__ (const LPoint3 fll, const LPoint3 flr, const LPoint3 fur, const LPoint3 ful, const LPoint3 nll, const LPoint3 nlr, const LPoint3 nur, const LPoint3 nul)
 
int getNumPlanes ()
 Returns 6: the number of faces of a hexahedron. More...
 
int getNumPoints ()
 Returns 8: the number of vertices of a hexahedron. More...
 
LPlane getPlane (int n)
 Returns the nth face of the hexahedron. More...
 
list getPlanes ()
 
LPoint3 getPoint (int n)
 Returns the nth vertex of the hexahedron. More...
 
list getPoints ()
 
- 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. 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 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 ()
 

Public Attributes

LPlane planes []
 
LPoint3 points []
 
- Public Attributes inherited from FiniteBoundingVolume
LPoint3 max
 
LPoint3 min
 
float volume
 
- 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 defines a bounding convex hexahedron.

It is typically used to represent a frustum, but may represent any enclosing convex hexahedron, including simple boxes. However, if all you want is an axis-aligned bounding box, you may be better off with the simpler BoundingBox class.

Member Function Documentation

◆ __init__() [1/2]

__init__ ( const LFrustum  frustum,
bool  is_ortho,
CoordinateSystem  cs 
)

◆ __init__() [2/2]

__init__ ( const LPoint3  fll,
const LPoint3  flr,
const LPoint3  fur,
const LPoint3  ful,
const LPoint3  nll,
const LPoint3  nlr,
const LPoint3  nur,
const LPoint3  nul 
)

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getNumPlanes()

int getNumPlanes ( )

Returns 6: the number of faces of a hexahedron.

◆ getNumPoints()

int getNumPoints ( )

Returns 8: the number of vertices of a hexahedron.

◆ getPlane()

LPlane getPlane ( int  n)

Returns the nth face of the hexahedron.

◆ getPlanes()

list getPlanes ( )

◆ getPoint()

LPoint3 getPoint ( int  n)

Returns the nth vertex of the hexahedron.

◆ getPoints()

list getPoints ( )

Member Data Documentation

◆ planes

LPlane planes[]

◆ points

LPoint3 points[]