21 INLINE CollisionTube::
22 CollisionTube(
const LPoint3 &a,
const LPoint3 &b, PN_stdfloat radius) :
23 _a(a), _b(b), _radius(radius)
26 nassertv(_radius >= 0.0f);
34 INLINE CollisionTube::
35 CollisionTube(PN_stdfloat ax, PN_stdfloat ay, PN_stdfloat az,
36 PN_stdfloat bx, PN_stdfloat by, PN_stdfloat bz,
38 _a(ax, ay, az), _b(bx, by, bz), _radius(radius)
41 nassertv(_radius >= 0.0f);
50 INLINE CollisionTube::
59 INLINE CollisionTube::
76 _volume_pcollector.flush_level();
77 _test_pcollector.flush_level();
85 INLINE
void CollisionTube::
96 INLINE
void CollisionTube::
97 set_point_a(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) {
106 INLINE
const LPoint3 &CollisionTube::
107 get_point_a()
const {
116 INLINE
void CollisionTube::
117 set_point_b(
const LPoint3 &b) {
127 INLINE
void CollisionTube::
128 set_point_b(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) {
137 INLINE
const LPoint3 &CollisionTube::
138 get_point_b()
const {
147 INLINE
void CollisionTube::
148 set_radius(PN_stdfloat radius) {
149 nassertv(radius >= 0.0f);
154 mark_internal_bounds_stale();
163 INLINE PN_stdfloat CollisionTube::
The abstract base class for all things that can collide with other things in the world, and all the things they can collide with (except geometry).
static void flush_level()
Flushes the PStatCollectors used during traversal.
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This implements a solid roughly in cylindrical shape.