void CreateRingPlatform(Vector3 position, Box ringBoxShape, BodyDescription bodyDescription, float radius)
        {
            var   innerCircumference = (float)Math.PI * 2 * (radius - ringBoxShape.HalfLength);
            var   boxCount           = (int)(0.95f * innerCircumference / ringBoxShape.Height);
            float increment          = MathHelper.TwoPi / boxCount;

            for (int i = 0; i < boxCount; i++)
            {
                var angle = i * increment;
                bodyDescription.Pose = new RigidPose(
                    position + new Vector3(-(float)Math.Cos(angle) * radius, ringBoxShape.HalfWidth, (float)Math.Sin(angle) * radius),
                    Quaternion.Concatenate(Quaternion.CreateFromAxisAngle(Vector3.UnitZ, (float)Math.PI * 0.5f), Quaternion.CreateFromAxisAngle(Vector3.UnitY, angle + (float)Math.PI * 0.5f)));
                Simulation.Bodies.Add(bodyDescription);
            }
        }