예제 #1
0
        public ControlPointGroup GroupAt(double time, bool addIfNotExisting = false)
        {
            var newGroup = new ControlPointGroup(time);

            int i = groups.BinarySearch(newGroup);

            if (i >= 0)
            {
                return(groups[i]);
            }

            if (addIfNotExisting)
            {
                newGroup.ItemAdded   += groupItemAdded;
                newGroup.ItemRemoved += groupItemRemoved;

                groups.Insert(~i, newGroup);
                return(newGroup);
            }

            return(null);
        }