15 #ifndef BOUNDINGLINE_H 16 #define BOUNDINGLINE_H 18 #include "pandabase.h" 20 #include "geometricBoundingVolume.h" 39 ALLOC_DELETED_CHAIN(BoundingLine);
44 virtual LPoint3 get_approx_center()
const;
45 virtual void xform(
const LMatrix4 &mat);
47 virtual void output(ostream &out)
const;
50 INLINE_MATHUTIL
const LPoint3 &get_point_a()
const;
51 INLINE_MATHUTIL
LPoint3 get_point_b()
const;
63 virtual bool extend_by_line(
const BoundingLine *line);
66 virtual int contains_box(
const BoundingBox *box)
const;
68 PN_stdfloat sqr_dist_to_line(
const LPoint3 &point)
const;
79 static void init_type() {
80 GeometricBoundingVolume::init_type();
81 register_type(_type_handle,
"BoundingLine",
82 GeometricBoundingVolume::get_class_type());
85 return get_class_type();
87 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
96 #include "boundingLine.I" An axis-aligned bounding box; that is, a minimum and maximum coordinate triple.
virtual const BoundingLine * as_bounding_line() const
Virtual downcast method.
This defines a bounding sphere, consisting of a center and a radius.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is an abstract class for any volume in any sense which can be said to define the locality of ref...
This is another abstract class, for a general class of bounding volumes that actually enclose points ...
This is a 4-by-4 transform matrix.
TypeHandle is the identifier used to differentiate C++ class types.
This funny bounding volume is an infinite line with no thickness and extending to infinity in both di...