public Grid_Placement_Info get_Info(Geometry_Container c)
        {
            var ret  = new Grid_Placement_Info();
            var aabb = c._AABB;

            ret.coords = Spatial.Grid_Func.Grid_Coords(aabb.Position, grid_info.Cellsize);

            var widths = Spatial.Grid_Func.Find_Width_In_Cells(grid_info.Cellsize, aabb.Position, aabb.widthx, aabb.widthy);

            ret.row_width = widths.row_width;
            ret.col_width = widths.col_width;

            ret.own_group = Base_Collision_Batches.Collision_Group_Slot[c.Collision_Type];

            ret.groups_it_hits = Base_Collision_Batches.what_groups_each_group_collides_with[ret.own_group];// Multiple_Dispatch.Check_With_Whom[c.Collision_Type];
            return(ret);
        }
        public Grid_Placement_Info get_Info(Geometry_Container c)
        {
            var ret = new Grid_Placement_Info();
            var aabb = c._AABB;

            ret.coords = Spatial.Grid_Func.Grid_Coords(aabb.Position, grid_info.Cellsize);

            var widths = Spatial.Grid_Func.Find_Width_In_Cells(grid_info.Cellsize, aabb.Position, aabb.widthx, aabb.widthy);
            ret.row_width = widths.row_width;
            ret.col_width = widths.col_width;

            ret.own_group = Base_Collision_Batches.Collision_Group_Slot[c.Collision_Type];

            ret.groups_it_hits = Base_Collision_Batches.what_groups_each_group_collides_with[ret.own_group];// Multiple_Dispatch.Check_With_Whom[c.Collision_Type];
            return ret;
        }