public static void DrawOval <TVertexParameters>(this IShapeDrawer2 <TVertexParameters> drawer,
                                                 float x, float y, float z, float w, float h, float lineWidth, TVertexParameters parameters, int edges = 32)
 {
     w *= 0.5f;
     h *= 0.5f;
     drawer.DrawOval(x + w, y + h, z, w, h, lineWidth, parameters, edges);
 }
 public static void DrawCircle <TVertexParameters>(this IShapeDrawer2 <TVertexParameters> drawer,
                                                   Vector3 xyz, float r, float lineWidth, TVertexParameters parameters, int edges = 32)
 {
     drawer.DrawOval(xyz.X, xyz.Y, xyz.Z, r, r, lineWidth, parameters, edges);
 }
 public static void DrawCircle <TVertexParameters>(this IShapeDrawer2 <TVertexParameters> drawer,
                                                   float x, float y, float z, float r, float lineWidth, TVertexParameters parameters, int edges = 32)
 {
     drawer.DrawOval(x, y, z, r, r, lineWidth, parameters, edges);
 }
 public static void DrawOval <TVertexParameters>(this IShapeDrawer2 <TVertexParameters> drawer,
                                                 Vector3 xyz, Vector2 wh, float lineWidth, TVertexParameters parameters, int edges = 32)
 {
     wh *= 0.5f;
     drawer.DrawOval(xyz.X + wh.X, xyz.Y + wh.Y, xyz.Z, wh.X, wh.Y, lineWidth, parameters, edges);
 }