15 #ifndef COLLISIONRAY_H 16 #define COLLISIONRAY_H 18 #include "pandabase.h" 20 #include "collisionSolid.h" 35 INLINE CollisionRay(PN_stdfloat ox, PN_stdfloat oy, PN_stdfloat oz,
36 PN_stdfloat dx, PN_stdfloat dy, PN_stdfloat dz);
38 virtual LPoint3 get_collision_origin()
const;
41 INLINE CollisionRay(
const CollisionRay ©);
47 virtual void xform(
const LMatrix4 &mat);
49 virtual void output(ostream &out)
const;
52 INLINE
void set_origin(
const LPoint3 &origin);
53 INLINE
void set_origin(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
54 INLINE
const LPoint3 &get_origin()
const;
56 INLINE
void set_direction(
const LVector3 &direction);
57 INLINE
void set_direction(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
58 INLINE
const LVector3 &get_direction()
const;
61 INLINE
bool set_from_lens(
LensNode *camera, PN_stdfloat px, PN_stdfloat py);
67 virtual void fill_viz_geom();
74 static void register_with_read_factory();
85 static void init_type() {
86 CollisionSolid::init_type();
87 register_type(_type_handle,
"CollisionRay",
88 CollisionSolid::get_class_type());
91 return get_class_type();
93 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
99 #include "collisionRay.I" An infinite ray, with a specific origin and direction.
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
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).
A node that contains a Lens.
Base class for objects that can be written to and read from Bam files.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
virtual void write_datagram(BamWriter *manager, Datagram &me)
Function to write the important information in the particular object to a Datagram.
This is an abstract class for any volume in any sense which can be said to define the locality of ref...
This is a 4-by-4 transform matrix.
Defines a single collision event.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
A class to retrieve the individual data elements previously stored in a Datagram. ...
This is a two-component point in space.
TypeHandle is the identifier used to differentiate C++ class types.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...