Пример #1
0
        static MPos useFragment(SheetFragment fragment, float[] data, MPos bounds)
        {
            currentFragments.Remove(fragment);
            currentFragments.AddRange(fragment.Split(bounds));

            var position = fragment.Position;

            currentSheet.WriteData(data, position.X, position.Y, bounds.X, bounds.Y);

            return(position);
        }
Пример #2
0
        static SheetFragment findLowest(MPos bounds)
        {
            var fragments = currentFragments.Where(f => f.CanContain(bounds));

            SheetFragment frag      = null;
            var           fragValue = int.MaxValue;

            foreach (var f in fragments)
            {
                var currentValue = f.Bounds.X * f.Bounds.Y;
                if (currentValue < fragValue)
                {
                    frag      = f;
                    fragValue = currentValue;
                }
            }

            return(frag);
        }