28class EXPCL_PANDA_MATHUTIL
BoundingPlane :
public GeometricBoundingVolume {
35 virtual BoundingVolume *make_copy()
const;
37 virtual LPoint3 get_approx_center()
const;
38 virtual void xform(
const LMatrix4 &mat);
40 virtual void output(std::ostream &out)
const;
43 INLINE_MATHUTIL
const LPlane &get_plane()
const;
45 MAKE_PROPERTY(plane, get_plane);
51 virtual bool extend_other(BoundingVolume *other)
const;
52 virtual bool around_other(BoundingVolume *other,
53 const BoundingVolume **first,
54 const BoundingVolume **last)
const;
55 virtual int contains_other(
const BoundingVolume *other)
const;
59 virtual int contains_sphere(
const BoundingSphere *sphere)
const;
60 virtual int contains_box(
const BoundingBox *box)
const;
61 virtual int contains_line(
const BoundingLine *line)
const;
63 virtual int contains_hexahedron(
const BoundingHexahedron *hexahedron)
const;
72 static void init_type() {
73 GeometricBoundingVolume::init_type();
75 GeometricBoundingVolume::get_class_type());
78 return get_class_type();
80 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
85 friend class BoundingSphere;
86 friend class BoundingBox;
87 friend class BoundingHexahedron;
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...