Exemple #1
0
bool Model::IsOverlapping(ModelObject &left, ModelObject &right)
{
  Shape::Sphere circle_left = { left.position(), left.radius() };
  Shape::Sphere circle_right = { right.position(), right.radius() };

  return (Overlap::IsOverlapping(circle_left, circle_right));
}
// Adds the force exerted on each body to each body's net force
void NBodySimulator::AddForcesBetween(ModelObject &b1, ModelObject &b2)
{
  Gravity::PointMass m1 = { b1.mass(), b1.position() };
  Gravity::PointMass m2 = { b2.mass(), b2.position() };

  Vector3 force = Gravity::force(m1, m2, gravity_);
  b1.set_force(b1.force() + force);
  b2.set_force(b2.force() + force * -1);
}