14 #ifndef BOUNDINGLINE_H 15 #define BOUNDINGLINE_H 34 INLINE_MATHUTIL
explicit BoundingLine(
const LPoint3 &a,
const LPoint3 &b);
40 virtual LPoint3 get_approx_center()
const;
41 virtual void xform(
const LMatrix4 &mat);
43 virtual void output(std::ostream &out)
const;
46 INLINE_MATHUTIL
const LPoint3 &get_point_a()
const;
47 INLINE_MATHUTIL LPoint3 get_point_b()
const;
62 virtual int contains_box(
const BoundingBox *box)
const;
64 PN_stdfloat sqr_dist_to_line(
const LPoint3 &point)
const;
75 static void init_type() {
76 GeometricBoundingVolume::init_type();
78 GeometricBoundingVolume::get_class_type());
81 return get_class_type();
83 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
An axis-aligned bounding box; that is, a minimum and maximum coordinate triple.
virtual const BoundingLine * as_bounding_line() const
Virtual downcast method.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This defines a bounding sphere, consisting of a center and a radius.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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 ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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...