15 #ifndef COLLISIONHANDLERPHYSICAL_H 16 #define COLLISIONHANDLERPHYSICAL_H 18 #include "pandabase.h" 20 #include "collisionHandlerEvent.h" 21 #include "collisionNode.h" 23 #include "driveInterface.h" 24 #include "pointerTo.h" 25 #include "pandaNode.h" 47 bool remove_collider(
const NodePath &collider);
48 bool has_collider(
const NodePath &collider)
const;
49 void clear_colliders();
51 INLINE
void set_center(
const NodePath ¢er);
52 INLINE
void clear_center();
53 INLINE
const NodePath &get_center()
const;
54 INLINE
bool has_center()
const;
55 INLINE
bool has_contact()
const;
64 INLINE
void set_target(
const NodePath &target,
66 INLINE
void updated_transform();
72 virtual bool handle_entries()=0;
73 virtual void apply_linear_force(ColliderDef &def,
const LVector3 &force)=0;
75 virtual bool validate_target(
const NodePath &target);
79 FromEntries _from_entries;
90 static void init_type() {
91 CollisionHandlerEvent::init_type();
92 register_type(_type_handle,
"CollisionHandlerPhysical",
93 CollisionHandlerEvent::get_class_type());
96 return get_class_type();
98 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
104 #include "collisionHandlerPhysical.I" virtual bool end_group()
Called by the CollisionTraverser at the completion of all collision detections for this traversal...
This is a TFormer, similar to Trackball, that moves around a transform matrix in response to mouse in...
virtual void begin_group()
Will be called by the CollisionTraverser before a new traversal is begun.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
The abstract base class for a number of CollisionHandlers that have some physical effect on their mov...
Defines a single collision event.
A specialized kind of CollisionHandler that throws an event for each collision detected.
TypeHandle is the identifier used to differentiate C++ class types.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
virtual void add_entry(CollisionEntry *entry)
Called between a begin_group() .