public static void DrawMountPoints(float cubeSize, MyCubeBlockDefinition def, ref MatrixD drawMatrix)
        {
            var mountPoints = def.MountPoints;

            if (mountPoints == null)
            {
                return;
            }

            if (!MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AUTOGENERATE)
            {
                DrawMountPoints(cubeSize, def, drawMatrix, mountPoints);
            }
            else
            {   //Generate mount points from model collisions and draw them
                if (def.Model != null)
                {
                    int     index = 0;
                    MyModel model = MyModels.GetModel(def.Model);

                    foreach (var shape in model.HavokCollisionShapes)
                    {
                        MyPhysicsBody.DrawCollisionShape(shape, drawMatrix, 0.2f, ref index);
                    }

                    var newMountPoints = AutogenerateMountpoints(model, cubeSize);

                    DrawMountPoints(cubeSize, def, drawMatrix, newMountPoints.ToArray());
                }
            }

            if (MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS_HELPERS)
            {
                DrawMountPointsAxisHelpers(def, ref drawMatrix, cubeSize);
            }
        }