public static IPanel <TEdge, TOpening> SetOutlineElements1D <TEdge, TOpening>(this IPanel <TEdge, TOpening> panel, IEnumerable <IElement1D> edges) where TEdge : IEdge where TOpening : IOpening <TEdge> { IPanel <TEdge, TOpening> pp = panel.GetShallowClone(true) as IPanel <TEdge, TOpening>; pp.ExternalEdges = ConvertToEdges <TEdge>(edges); return(pp); }
public static IPanel <TEdge, TOpening> SetInternalElements2D <TEdge, TOpening>(this IPanel <TEdge, TOpening> panel, List <IElement2D> openings) where TEdge : IEdge where TOpening : IOpening <TEdge> { IPanel <TEdge, TOpening> pp = panel.GetShallowClone() as IPanel <TEdge, TOpening>; pp.Openings = new List <TOpening>(openings.Cast <TOpening>().ToList()); return(pp); }