16TypeHandle PhysxCapsuleController::_type_handle;
21void PhysxCapsuleController::
22link(NxController *controllerPtr) {
24 nassertv(controllerPtr->getType() == NX_CONTROLLER_CAPSULE);
27 _ptr = (NxCapsuleController *)controllerPtr;
30 PhysxScene *scene = (PhysxScene *)_ptr->getActor()->getScene().userData;
31 scene->_controllers.add(
this);
34 PT(PhysxActor) actor =
new PhysxActor();
35 actor->link(_ptr->getActor());
36 actor->link_controller(
this);
42void PhysxCapsuleController::
46 PT(PhysxActor) actor = (PhysxActor *)ptr()->getActor()->userData;
50 _error_type = ET_released;
52 PhysxScene *scene = (PhysxScene *)_ptr->getActor()->getScene().userData;
53 scene->_controllers.remove(
this);
62 nassertv(_error_type == ET_ok);
63 _ptr->setRadius(radius);
72 nassertv(_error_type == ET_ok);
73 _ptr->setHeight(height);
82 nassertr(_error_type == ET_ok, 0.0f);
83 return _ptr->getRadius();
92 nassertr(_error_type == ET_ok, 0.0f);
93 return _ptr->getHeight();
void set_height(float height)
Resets the controller's height.
void set_radius(float radius)
Resets the controller's radius.
float get_height() const
Returns the controller's height.
float get_radius() const
Returns the controller's radius.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.