protected void IntersectInflated(List <Vector3I> outHitPositions, MyCubeGrid grid)
        {
            float maxDist         = 2000;
            var   gridSizeInflate = new Vector3I(100, 100, 100);

            if (grid != null)
            {
                grid.RayCastCells(IntersectionStart, IntersectionStart + IntersectionDirection * maxDist, outHitPositions, gridSizeInflate);
            }
            else
            {
                float gridSize = MyDefinitionManager.Static.GetCubeSize(CurrentBlockDefinition.CubeSize);
                MyCubeGrid.RayCastStaticCells(IntersectionStart, IntersectionStart + IntersectionDirection * maxDist, outHitPositions, gridSize, gridSizeInflate);
            }
        }
        protected void IntersectInflated(List<Vector3I> outHitPositions, MyCubeGrid grid)
        {
            float maxDist = 2000;
            var gridSizeInflate = new Vector3I(100, 100, 100);

            if (grid != null)
            {
                grid.RayCastCells(IntersectionStart, IntersectionStart + IntersectionDirection * maxDist, outHitPositions, gridSizeInflate);
            }
            else
            {
                float gridSize = MyDefinitionManager.Static.GetCubeSize(CurrentBlockDefinition.CubeSize);
                MyCubeGrid.RayCastStaticCells(IntersectionStart, IntersectionStart + IntersectionDirection * maxDist, outHitPositions, gridSize, gridSizeInflate);
            }
        }