Beispiel #1
0
        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);
 }
 public ConstrainedVerticalSelection(VerticalSelection vertical, IReadOnlyList <Vector2> constrainedFootprint)
     : this(vertical.Script, vertical.Bottom, vertical.Top, constrainedFootprint)
 {
 }