50 INLINE
bool has_into()
const;
55 INLINE
NodePath get_from_node_path()
const;
56 INLINE
NodePath get_into_node_path()
const;
58 INLINE
void set_t(PN_stdfloat t);
59 INLINE PN_stdfloat get_t()
const;
60 INLINE
bool collided()
const;
61 INLINE
void reset_collided();
63 INLINE
bool get_respect_prev_transform()
const;
65 INLINE
void set_surface_point(
const LPoint3 &point);
66 INLINE
void set_surface_normal(
const LVector3 &normal);
67 INLINE
void set_interior_point(
const LPoint3 &point);
69 INLINE
bool has_surface_point()
const;
70 INLINE
bool has_surface_normal()
const;
71 INLINE
bool has_interior_point()
const;
73 INLINE
void set_contact_pos(
const LPoint3 &pos);
74 INLINE
void set_contact_normal(
const LVector3 &normal);
76 INLINE
bool has_contact_pos()
const;
77 INLINE
bool has_contact_normal()
const;
79 LPoint3 get_surface_point(
const NodePath &space)
const;
80 LVector3 get_surface_normal(
const NodePath &space)
const;
81 LPoint3 get_interior_point(
const NodePath &space)
const;
83 LPoint3 &surface_point,
84 LVector3 &surface_normal,
85 LPoint3 &interior_point)
const;
87 LPoint3 get_contact_pos(
const NodePath &space)
const;
88 LVector3 get_contact_normal(
const NodePath &space)
const;
89 bool get_all_contact_info(
const NodePath &space,
91 LVector3 &contact_normal)
const;
93 void output(std::ostream &out)
const;
94 void write(std::ostream &out,
int indent_level = 0)
const;
97 MAKE_PROPERTY(from_solid, get_from);
98 MAKE_PROPERTY(into_solid, get_into);
99 MAKE_PROPERTY(from_node, get_from_node);
100 MAKE_PROPERTY(into_node, get_into_node);
101 MAKE_PROPERTY(from_node_path, get_from_node_path);
102 MAKE_PROPERTY(into_node_path, get_into_node_path);
104 MAKE_PROPERTY(t, get_t, set_t);
105 MAKE_PROPERTY(respect_prev_transform, get_respect_prev_transform);
112 INLINE
const LMatrix4 &get_wrt_mat()
const;
113 INLINE
const LMatrix4 &get_inv_wrt_mat()
const;
114 INLINE
const LMatrix4 &get_wrt_prev_mat()
const;
121 void check_clip_planes();
134 F_has_surface_point = 0x0001,
135 F_has_surface_normal = 0x0002,
136 F_has_interior_point = 0x0004,
137 F_respect_prev_transform = 0x0008,
138 F_checked_clip_planes = 0x0010,
139 F_has_contact_pos = 0x0020,
140 F_has_contact_normal = 0x0040,
145 LPoint3 _surface_point;
146 LVector3 _surface_normal;
147 LPoint3 _interior_point;
149 LPoint3 _contact_pos;
150 LVector3 _contact_normal;
156 static void init_type() {
157 TypedWritableReferenceCount::init_type();
159 TypedWritableReferenceCount::get_class_type());
162 return get_class_type();
164 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
Defines a single collision event.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...