RigidBody2D: Add experimental SetMomentOfInertia method

This commit is contained in:
Lynix 2017-08-06 23:46:55 +02:00
parent 4e9508e23a
commit e512302305
2 changed files with 9 additions and 0 deletions

View File

@ -57,6 +57,7 @@ namespace Nz
void SetGeom(Collider2DRef geom);
void SetMass(float mass);
void SetMassCenter(const Vector2f& center);
void SetMomentOfInertia(float moment);
void SetPosition(const Vector2f& position);
void SetRotation(float rotation);
void SetUserdata(void* ud);

View File

@ -285,6 +285,14 @@ namespace Nz
cpBodySetCenterOfGravity(m_handle, cpv(center.x, center.y));
}
void RigidBody2D::SetMomentOfInertia(float moment)
{
m_world->RegisterPostStep(this, [moment] (Nz::RigidBody2D* body)
{
cpBodySetMoment(body->GetHandle(), moment);
});
}
void RigidBody2D::SetPosition(const Vector2f& position)
{
cpBodySetPosition(m_handle, cpv(position.x, position.y));