void IVerticalFeatureContainer.Add(VerticalSelection selection, IVerticalFeature feature) { //Ensure that all the floors overlapping this vertical are not subdivided for (int i = selection.Bottom; i < selection.Top; i++) { if (Floor(i).State != SubdivisionStates.NotSubdivided) { throw new InvalidOperationException("Cannot add vertical element overlapping a floor which is already subdivided"); } } //This element is valid, store it _verticalNodes.Add(new KeyValuePair <VerticalSelection, IVerticalFeature>(selection, feature)); }
public void Add(VerticalSelection selection, IVerticalFeature feature) { Contract.Requires(selection != null); Contract.Requires(feature != null); }