private bool IntersectWithCurrentRangesRecursive(RangeRegion rangeRegionToIntersect) { // check against each range foreach (Range range in m_ranges) { RangeRegion excludedResults = null; Range remove = Range.Empty; bool excluded = false; // loop through our new ranges foreach (Range rangeToIntersect in rangeRegionToIntersect) { // if we intersect with at least one range // get the exclusion range. // mark a flag, that we need to remove our // range, and add an excluded range if (range.IntersectsWith(rangeToIntersect)) { excludedResults = rangeToIntersect.Exclude(range); excluded = true; remove = rangeToIntersect; break; } } if (excluded) { rangeRegionToIntersect.Remove(remove); rangeRegionToIntersect.Add(excludedResults); return true; } } return false; }
private bool IntersectWithCurrentRangesRecursive(RangeRegion rangeRegionToIntersect) { // check against each range foreach (Range range in m_ranges) { RangeRegion excludedResults = null; Range remove = Range.Empty; bool excluded = false; // loop through our new ranges foreach (Range rangeToIntersect in rangeRegionToIntersect) { // if we intersect with at least one range // get the exclusion range. // mark a flag, that we need to remove our // range, and add an excluded range if (range.IntersectsWith(rangeToIntersect)) { excludedResults = rangeToIntersect.Exclude(range); excluded = true; remove = rangeToIntersect; break; } } if (excluded) { rangeRegionToIntersect.Remove(remove); rangeRegionToIntersect.Add(excludedResults); return(true); } } return(false); }
public override void SelectRange(Range range, bool select) { if (select) { mRegion.Add(ValidateRange(range)); } else { mRegion.Remove(range); } }
public override void SelectRange(Range range, bool select) { Range newRange = Grid.RangeToCellRange(range); if (select) { mRegion.Add(ValidateRange(newRange)); } else { mRegion.Remove(newRange); } }