CollisionRay¶
-
class
CollisionRay
¶ Bases:
CollisionSolid
An infinite ray, with a specific origin and direction. It begins at its origin and continues in one direction to infinity, and it has no radius. Useful for picking from a window, or for gravity effects.
Inheritance diagram
-
CollisionRay
(void)¶
-
explicit
CollisionRay
(PN_stdfloat ox, PN_stdfloat oy, PN_stdfloat oz, PN_stdfloat dx, PN_stdfloat dy, PN_stdfloat dz)¶ Creates an invalid ray. This isn’t terribly useful; it’s expected that the user will subsequently adjust the ray via set_origin()/set_direction() or
set_from_lens()
.
-
static TypeHandle
get_class_type
(void)¶
-
void
set_direction
(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)¶
-
bool
set_from_lens
(LensNode *camera, PN_stdfloat px, PN_stdfloat py)¶ Accepts a
LensNode
and a 2-d point in the range [-1,1]. Sets theCollisionRay
so that it begins at the LensNode’s near plane and extends to infinity, making it suitable for picking objects from the screen given a camera and a mouse location.Accepts a
LensNode
and a 2-d point in the range [-1,1]. Sets theCollisionRay
so that it begins at the LensNode’s near plane and extends to infinity, making it suitable for picking objects from the screen given a camera and a mouse location.Returns true if the point was acceptable, false otherwise.
-
void
set_origin
(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)¶
-