21BulletRotationalLimitMotor::
22BulletRotationalLimitMotor(btRotationalLimitMotor &motor)
30BulletRotationalLimitMotor::
32 : _motor(copy._motor) {
39bool BulletRotationalLimitMotor::
41 LightMutexHolder holder(BulletWorld::get_global_lock());
43 return _motor.isLimited();
49void BulletRotationalLimitMotor::
50set_motor_enabled(
bool enabled) {
51 LightMutexHolder holder(BulletWorld::get_global_lock());
53 _motor.m_enableMotor = enabled;
59bool BulletRotationalLimitMotor::
60get_motor_enabled()
const {
61 LightMutexHolder holder(BulletWorld::get_global_lock());
63 return _motor.m_enableMotor;
68void BulletRotationalLimitMotor::
69set_low_limit(PN_stdfloat limit) {
70 LightMutexHolder holder(BulletWorld::get_global_lock());
72 _motor.m_loLimit = (btScalar)limit;
78void BulletRotationalLimitMotor::
79set_high_limit(PN_stdfloat limit) {
80 LightMutexHolder holder(BulletWorld::get_global_lock());
82 _motor.m_hiLimit = (btScalar)limit;
88void BulletRotationalLimitMotor::
89set_target_velocity(PN_stdfloat velocity) {
90 LightMutexHolder holder(BulletWorld::get_global_lock());
92 _motor.m_targetVelocity = (btScalar)velocity;
98void BulletRotationalLimitMotor::
99set_max_motor_force(PN_stdfloat force) {
100 LightMutexHolder holder(BulletWorld::get_global_lock());
102 _motor.m_maxMotorForce = (btScalar)force;
108void BulletRotationalLimitMotor::
109set_max_limit_force(PN_stdfloat force) {
110 LightMutexHolder holder(BulletWorld::get_global_lock());
112 _motor.m_maxLimitForce = (btScalar)force;
118void BulletRotationalLimitMotor::
119set_damping(PN_stdfloat damping) {
120 LightMutexHolder holder(BulletWorld::get_global_lock());
122 _motor.m_damping = (btScalar)damping;
128void BulletRotationalLimitMotor::
129set_softness(PN_stdfloat softness) {
130 LightMutexHolder holder(BulletWorld::get_global_lock());
132 _motor.m_limitSoftness = (btScalar)softness;
138void BulletRotationalLimitMotor::
139set_bounce(PN_stdfloat bounce) {
140 LightMutexHolder holder(BulletWorld::get_global_lock());
142 _motor.m_bounce = (btScalar)bounce;
148void BulletRotationalLimitMotor::
149set_normal_cfm(PN_stdfloat cfm) {
150 LightMutexHolder holder(BulletWorld::get_global_lock());
152 _motor.m_normalCFM = (btScalar)cfm;
158void BulletRotationalLimitMotor::
159set_stop_cfm(PN_stdfloat cfm) {
160 LightMutexHolder holder(BulletWorld::get_global_lock());
162 _motor.m_stopCFM = (btScalar)cfm;
168void BulletRotationalLimitMotor::
169set_stop_erp(PN_stdfloat erp) {
170 LightMutexHolder holder(BulletWorld::get_global_lock());
172 _motor.m_stopERP = (btScalar)erp;
181 LightMutexHolder holder(BulletWorld::get_global_lock());
183 return _motor.m_currentLimit;
189PN_stdfloat BulletRotationalLimitMotor::
190get_current_error()
const {
191 LightMutexHolder holder(BulletWorld::get_global_lock());
193 return (PN_stdfloat)_motor.m_currentLimitError;
199PN_stdfloat BulletRotationalLimitMotor::
200get_current_position()
const {
201 LightMutexHolder holder(BulletWorld::get_global_lock());
203 return (PN_stdfloat)_motor.m_currentPosition;
209PN_stdfloat BulletRotationalLimitMotor::
210get_accumulated_impulse()
const {
211 LightMutexHolder holder(BulletWorld::get_global_lock());
213 return (PN_stdfloat)_motor.m_accumulatedImpulse;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Rotation Limit structure for generic joints.
get_current_limit
Retrieves the current value of angle: 0 = free, 1 = at low limit, 2 = at high limit.