14 #ifndef COLLISIONSEGMENT_H
15 #define COLLISIONSEGMENT_H
35 INLINE
explicit CollisionSegment(PN_stdfloat ax, PN_stdfloat ay, PN_stdfloat az,
36 PN_stdfloat bx, PN_stdfloat by, PN_stdfloat bz);
38 virtual LPoint3 get_collision_origin()
const;
47 virtual void xform(
const LMatrix4 &mat);
49 virtual void output(std::ostream &out)
const;
52 INLINE
void set_point_a(
const LPoint3 &a);
53 INLINE
void set_point_a(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
54 INLINE
const LPoint3 &get_point_a()
const;
56 INLINE
void set_point_b(
const LPoint3 &b);
57 INLINE
void set_point_b(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
58 INLINE
const LPoint3 &get_point_b()
const;
60 bool set_from_lens(
LensNode *camera,
const LPoint2 &point);
61 INLINE
bool set_from_lens(
LensNode *camera, PN_stdfloat px, PN_stdfloat py);
64 MAKE_PROPERTY(point_a, get_point_a, set_point_a);
65 MAKE_PROPERTY(point_b, get_point_b, set_point_b);
71 virtual void fill_viz_geom();
77 static void register_with_read_factory();
88 static void init_type() {
89 CollisionSolid::init_type();
91 CollisionSolid::get_class_type());
94 return get_class_type();
96 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}