private List <BoundingBox> ResolveGroup(CriteriaGroup currentGroup, List <BoundingBox> currentBounds) { if (currentBounds.Count == 0) { return(new List <BoundingBox>()); } return(currentGroup.ResolveStep(currentBounds)); }
// TODO: Privatize this overload if/when only done through UI and not code-built expressions. public CriteriaGroup AddCriteriaGroup(CriteriaGroup criteriaGroup) { criteriaGroup.DeletionRequested += HandleCriteriaGroupDeletionRequested; CriteriaGroups.Add(criteriaGroup); CriteriaGroupAdded(criteriaGroup); return(criteriaGroup); }
public void RemoveCriteriaGroup(CriteriaGroup criteriaGroup) { if (!CriteriaGroups.Contains(criteriaGroup)) { throw new Exception("Cannot remove criteria group as it does not exist in the collection."); } criteriaGroup.DeletionRequested -= HandleCriteriaGroupDeletionRequested; CriteriaGroups.Remove(criteriaGroup); CriteriaGroupRemoved(criteriaGroup); }
private void HandleCriteriaGroupDeletionRequested(CriteriaGroup criteriaGroup) { RemoveCriteriaGroup(criteriaGroup); }