Properly separate sliders for each body
parent
d01417e8c9
commit
10b59578e1
|
@ -43,31 +43,17 @@ void simulator_init() {
|
|||
|
||||
sWorld.mStaticShapes.push_back(sGroundShape);
|
||||
|
||||
double restitution = 0.3;
|
||||
double restitution = 0.8;
|
||||
|
||||
int num_bodies = 10;
|
||||
for (int i = 0; i < num_bodies; i++) {
|
||||
SimBody body;
|
||||
|
||||
bool create_sphere = i %2;
|
||||
|
||||
if (!create_sphere) {
|
||||
body = CreateBoxBody(
|
||||
1.,
|
||||
Vector3d(2., 1., 1.),
|
||||
restitution,
|
||||
Vector3d::Random() * 5.,
|
||||
Vector3d::Zero());
|
||||
} else {
|
||||
body = CreateSphereBody(
|
||||
1.,
|
||||
1.,
|
||||
restitution,
|
||||
Vector3d::Random() * 5.,
|
||||
Vector3d::Zero());
|
||||
}
|
||||
|
||||
sWorld.mBodies.push_back(body);
|
||||
int num_spheres = 7;
|
||||
for (int i = 0; i < num_spheres; i++) {
|
||||
SimBody sphere_body = CreateSphereBody(
|
||||
1.,
|
||||
1.,
|
||||
restitution,
|
||||
Vector3d::Random() * 5.,
|
||||
Vector3d::Zero());
|
||||
sWorld.mBodies.push_back(sphere_body);
|
||||
}
|
||||
|
||||
for (int i = 0; i < sWorld.mBodies.size(); i++) {
|
||||
|
@ -164,6 +150,7 @@ void simulator_update(double dt) {
|
|||
|
||||
ImGui::Text("Bodies");
|
||||
for (int i = 0; i < sWorld.mBodies.size(); i++) {
|
||||
ImGui::PushID(i);
|
||||
SimBody& body = sWorld.mBodies[i];
|
||||
Vector3f body_pos = body.q.block(0, 0, 3, 1);
|
||||
ImGui::DragFloat3("Pos", body_pos.data(), 0.01f, -5.0f, 5.0f);
|
||||
|
@ -176,6 +163,7 @@ void simulator_update(double dt) {
|
|||
Vector4f body_rot = body.mModel.GetQuaternion(2, body.q);
|
||||
ImGui::DragFloat4("Rot", body_rot.data(), 0.01f, -20.0f, 20.0f);
|
||||
|
||||
ImGui::PopID();
|
||||
body.updateCollisionShapes();
|
||||
}
|
||||
|
||||
|
@ -272,4 +260,4 @@ void simulator_draw(srcmdbuf* cmdbuf) {
|
|||
srcmdbuf_add(cmdbuf, &rcmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue