Correctly compute inverse_mass when inertia is defined by user
This commit is contained in:
parent
d80396db03
commit
de40dfaac0
1 changed files with 6 additions and 7 deletions
|
@ -44,6 +44,12 @@ void Body2DSW::update_inertias() {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case Physics2DServer::BODY_MODE_RIGID: {
|
case Physics2DServer::BODY_MODE_RIGID: {
|
||||||
|
if (mass) {
|
||||||
|
_inv_mass = 1.0 / mass;
|
||||||
|
} else {
|
||||||
|
_inv_mass = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (user_inertia) {
|
if (user_inertia) {
|
||||||
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
|
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
|
||||||
break;
|
break;
|
||||||
|
@ -78,13 +84,6 @@ void Body2DSW::update_inertias() {
|
||||||
}
|
}
|
||||||
|
|
||||||
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
|
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
|
||||||
|
|
||||||
if (mass) {
|
|
||||||
_inv_mass = 1.0 / mass;
|
|
||||||
} else {
|
|
||||||
_inv_mass = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case Physics2DServer::BODY_MODE_KINEMATIC:
|
case Physics2DServer::BODY_MODE_KINEMATIC:
|
||||||
case Physics2DServer::BODY_MODE_STATIC: {
|
case Physics2DServer::BODY_MODE_STATIC: {
|
||||||
|
|
Loading…
Reference in a new issue