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;
44 virtual void write(std::ostream &out,
int indent_level)
const;
48 INLINE_MATHUTIL
const GeometricBoundingVolume *
get_component(
int n)
const;
56 virtual bool extend_other(BoundingVolume *other)
const;
57 virtual bool around_other(BoundingVolume *other,
58 const BoundingVolume **first,
59 const BoundingVolume **last)
const;
60 virtual int contains_other(
const BoundingVolume *other)
const;
62 virtual int contains_point(
const LPoint3 &point)
const;
63 virtual int contains_lineseg(
const LPoint3 &a,
const LPoint3 &b)
const;
64 virtual int contains_sphere(
const BoundingSphere *sphere)
const;
65 virtual int contains_box(
const BoundingBox *box)
const;
66 virtual int contains_hexahedron(
const BoundingHexahedron *hexahedron)
const;
67 virtual int contains_line(
const BoundingLine *line)
const;
68 virtual int contains_plane(
const BoundingPlane *plane)
const;
69 virtual int contains_union(
const UnionBoundingVolume *unionv)
const;
72 virtual int contains_geometric(
const GeometricBoundingVolume *volume)
const;
73 int other_contains_intersection(
const BoundingVolume *other)
const;
76 typedef pvector<CPT(GeometricBoundingVolume) > Components;
77 Components _components;
83 static void init_type() {
84 GeometricBoundingVolume::init_type();
86 GeometricBoundingVolume::get_class_type());
88 virtual TypeHandle get_type()
const {
89 return get_class_type();
91 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
94 static TypeHandle _type_handle;
96 friend class BoundingVolume;
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...