/// <summary> /// Returns all components, including children /// </summary> /// <param name="repo">Components repository</param> /// <returns>All components</returns> public static IEnumerable <IXComponent> Flatten(this IXComponentRepository repo) { foreach (var comp in repo) { IXComponentRepository children = null; try { children = comp.Children; } catch { } if (children != null) { foreach (var subComp in Flatten(children)) { yield return(subComp); } } yield return(comp); } }
/// <summary> /// Returns all components, including children /// </summary> /// <param name="repo">Components repository</param> /// <returns>All components</returns> public static IEnumerable <IXComponent> Flatten(this IXComponentRepository repo) { foreach (var comp in repo) { foreach (var subComp in Flatten(comp.Children)) { yield return(subComp); } yield return(comp); } }
/// <inheritdoc cref="IterateBodies(IXComponent, bool)"/> public static IEnumerable <IXBody> IterateBodies(this IXComponentRepository comps, bool includeHidden = false) => IterateComponentBodies(comps, includeHidden);
internal SwAssembly(IAssemblyDoc assembly, ISwApplication app, IXLogger logger, bool isCreated) : base((IModelDoc2)assembly, app, logger, isCreated) { Components = new SwAssemblyComponentCollection(this); }