15 #ifndef __BULLET_CHARACTER_CONTROLLER_NODE_H__
16 #define __BULLET_CHARACTER_CONTROLLER_NODE_H__
18 #include "pandabase.h"
20 #include "bullet_includes.h"
21 #include "bullet_utils.h"
22 #include "bulletShape.h"
23 #include "bulletBaseCharacterControllerNode.h"
26 #include "transformState.h"
39 void set_linear_movement(
const LVector3 &velocity,
bool is_local);
40 void set_angular_movement(PN_stdfloat omega);
44 PN_stdfloat get_gravity()
const;
45 PN_stdfloat get_max_slope()
const;
47 void set_fall_speed(PN_stdfloat fall_speed);
48 void set_jump_speed(PN_stdfloat jump_speed);
49 void set_max_jump_height(PN_stdfloat max_jump_height);
50 void set_max_slope(PN_stdfloat max_slope);
51 void set_gravity(PN_stdfloat gravity);
52 void set_use_ghost_sweep_test(
bool value);
54 bool is_on_ground()
const;
55 bool can_jump()
const;
59 INLINE
virtual btPairCachingGhostObject *get_ghost()
const;
60 INLINE
virtual btCharacterControllerInterface *get_character()
const;
62 virtual void sync_p2b(PN_stdfloat dt,
int num_substeps);
63 virtual void sync_b2p();
66 virtual void transform_changed();
69 CPT(TransformState) _sync;
74 btKinematicCharacterController *_character;
75 btPairCachingGhostObject *_ghost;
80 bool _linear_movement_is_local;
81 PN_stdfloat _angular_movement;
88 static void init_type() {
89 BulletBaseCharacterControllerNode::init_type();
90 register_type(_type_handle,
"BulletCharacterControllerNode",
91 BulletBaseCharacterControllerNode::get_class_type());
94 return get_class_type();
98 return get_class_type();
105 #include "bulletCharacterControllerNode.I"
107 #endif // __BULLET_CHARACTER_CONTROLLER_NODE_H__
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
TypeHandle is the identifier used to differentiate C++ class types.