29class EXPCL_PANDA_MATHUTIL BoundingLine :
public GeometricBoundingVolume {
31 INLINE_MATHUTIL BoundingLine();
34 INLINE_MATHUTIL
explicit BoundingLine(
const LPoint3 &a,
const LPoint3 &b);
35 ALLOC_DELETED_CHAIN(BoundingLine);
38 virtual BoundingVolume *make_copy()
const;
40 virtual LPoint3 get_approx_center()
const;
41 virtual void xform(
const LMatrix4 &mat);
43 virtual void output(std::ostream &out)
const;
53 virtual bool extend_other(BoundingVolume *other)
const;
54 virtual bool around_other(BoundingVolume *other,
55 const BoundingVolume **first,
56 const BoundingVolume **last)
const;
57 virtual int contains_other(
const BoundingVolume *other)
const;
59 virtual bool extend_by_line(
const BoundingLine *line);
61 virtual int contains_sphere(
const BoundingSphere *sphere)
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();}
88 friend class BoundingSphere;
89 friend class BoundingBox;
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...