15 #ifndef COLLISIONHANDLEREVENT_H 16 #define COLLISIONHANDLEREVENT_H 18 #include "pandabase.h" 20 #include "collisionHandler.h" 21 #include "collisionNode.h" 22 #include "collisionEntry.h" 24 #include "vector_string.h" 25 #include "pointerTo.h" 46 INLINE
void clear_in_patterns();
47 INLINE
void add_in_pattern(
const string &in_pattern);
48 INLINE
void set_in_pattern(
const string &in_pattern);
49 INLINE
int get_num_in_patterns()
const;
50 INLINE
string get_in_pattern(
int n)
const;
51 MAKE_SEQ(get_in_patterns, get_num_in_patterns, get_in_pattern);
53 INLINE
void clear_again_patterns();
54 INLINE
void add_again_pattern(
const string &again_pattern);
55 INLINE
void set_again_pattern(
const string &again_pattern);
56 INLINE
int get_num_again_patterns()
const;
57 INLINE
string get_again_pattern(
int n)
const;
58 MAKE_SEQ(get_again_patterns, get_num_again_patterns, get_again_pattern);
60 INLINE
void clear_out_patterns();
61 INLINE
void add_out_pattern(
const string &out_pattern);
62 INLINE
void set_out_pattern(
const string &out_pattern);
63 INLINE
int get_num_out_patterns()
const;
64 INLINE
string get_out_pattern(
int n)
const;
65 MAKE_SEQ(get_out_patterns, get_num_out_patterns, get_out_pattern);
71 void throw_event_for(
const vector_string &patterns,
CollisionEntry *entry);
72 void throw_event_pattern(
const string &pattern,
CollisionEntry *entry);
74 vector_string _in_patterns;
75 vector_string _again_patterns;
76 vector_string _out_patterns;
85 INLINE
void operator = (
const SortEntries &other);
89 Colliding _current_colliding;
90 Colliding _last_colliding;
96 static void init_type() {
97 CollisionHandler::init_type();
98 register_type(_type_handle,
"CollisionHandlerEvent",
99 CollisionHandler::get_class_type());
102 return get_class_type();
104 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
110 #include "collisionHandlerEvent.I" The abstract interface to a number of classes that decide what to do when a collision is detected...
virtual bool end_group()
Called by the CollisionTraverser at the completion of all collision detections for this traversal...
Defines a single collision event.
virtual void begin_group()
Will be called by the CollisionTraverser before a new traversal is begun.
A specialized kind of CollisionHandler that throws an event for each collision detected.
virtual void add_entry(CollisionEntry *entry)
Called between a begin_group() .
TypeHandle is the identifier used to differentiate C++ class types.