/***************************************************/ public static List <IRequest> Requests(this LogicalOrRequest request) { if (request == null) { BH.Engine.Reflection.Compute.RecordError("Cannot query the requests from a null logical or request."); return(new List <IRequest>()); } return(request.Requests); }
/***************************************************/ public static IEnumerable <ElementId> ElementIds(this LogicalOrRequest request, UIDocument uIDocument, IEnumerable <ElementId> ids = null) { HashSet <ElementId> result = new HashSet <ElementId>(); foreach (IRequest subRequest in request.Requests) { result.UnionWith(subRequest.IElementIds(uIDocument, ids)); } return(result); }
/***************************************************/ private static void AddRequestByLink(this Dictionary <Document, IRequest> requestsByLinks, IRequest request, Document document) { if (requestsByLinks.ContainsKey(document)) { IRequest requestByLink = requestsByLinks[document]; if (requestByLink is LogicalOrFilter) { ((LogicalOrRequest)requestByLink).Requests.Add(request); } else { LogicalOrRequest newHead = new LogicalOrRequest(); newHead.Requests.Add(requestByLink); newHead.Requests.Add(request); requestsByLinks[document] = newHead; } } else { requestsByLinks[document] = request; } }
/***************************************************/ public static List <IRequest> Requests(this LogicalOrRequest request) { return(request.Requests); }