From 715394a719ee977cc648bc5274b946b30fd2f32c Mon Sep 17 00:00:00 2001 From: Rod Kay Date: Fri, 17 Nov 2023 19:52:47 +1100 Subject: [PATCH] physcis.box2d.object: Implement 'gyre' functions. --- .../implement/box2d/source/c/box2d-object.cpp | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/3-mid/physics/implement/box2d/source/c/box2d-object.cpp b/3-mid/physics/implement/box2d/source/c/box2d-object.cpp index f223cd4..6b15fb6 100644 --- a/3-mid/physics/implement/box2d/source/c/box2d-object.cpp +++ b/3-mid/physics/implement/box2d/source/c/box2d-object.cpp @@ -356,12 +356,27 @@ b2d_Object_Speed_is (Object* Self, +// TODO: Check these Gyre function are correct. + Vector_3 b2d_Object_Gyre (Object* Self) { - Vector_3 the_Gyre; // TODO + Vector_3 the_Gyre; - printf ("TODO: b2d_Object_Gyre"); + if (Self->body) + { + Real b2d_Gyre = Self->body->GetAngularVelocity(); + + the_Gyre.x = 0.0; + the_Gyre.y = 0.0; + the_Gyre.z = b2d_Gyre; + } + else + { + the_Gyre.x = 0.0; + the_Gyre.y = 0.0; + the_Gyre.z = 0.0; + } return the_Gyre; } @@ -371,7 +386,10 @@ void b2d_Object_Gyre_is (Object* Self, Vector_3* Now) { - printf ("TODO: b2d_Object_Gyre_is"); + if (Self->body) + { + Self->body->SetAngularVelocity (Now->z); + } }