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();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
An axis-aligned bounding box; that is, a minimum and maximum coordinate triple.
This funny bounding volume is an infinite line with no thickness and extending to infinity in both di...
This defines a bounding sphere, consisting of a center and a radius.
This is an abstract class for any volume in any sense which can be said to define the locality of ref...
virtual const BoundingLine * as_bounding_line() const
Virtual downcast method.
This is another abstract class, for a general class of bounding volumes that actually enclose points ...
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...