public override void Calculate() { var input = InputPorts[0].Data; if (input != null) { var tt = input.GetType(); bool istype = input.GetType() == typeof(SelectionSet); if (MainTools.IsList(input) || istype) { //IList<SelectionSet> searchs = (IList<SelectionSet>)InputPorts[0].Data; media.Color color = (media.Color)InputPorts[1].Data; //Convert ARGB Alpha to normaliced transparency double t = ((-color.A / 255.0) + 1) * 100; double transparency = t; foreach (var s in (System.Collections.IEnumerable)input) { ApplyAppearance(s as SelectionSet, TransformColor(color), transparency); } OutputPorts[0].Data = (System.Collections.IEnumerable)input; } if (MainTools.IsList(input) && MainTools.ListContainsType(input, typeof(ModelItem)) || input is ModelItem) { List <ModelItem> searchs = (List <ModelItem>)InputPorts[0].Data; media.Color color = (media.Color)InputPorts[1].Data; //Convert ARGB Alpha to normaliced transparency double t = ((-color.A / 255.0) + 1) * 100; double transparency = t; ApplyAppearance(searchs, TransformColor(color), transparency); OutputPorts[0].Data = (List <ModelItem>)InputPorts[0].Data; } } }
public override void Calculate() { var input = InputPorts[0].Data; var output = new List <ModelItemCollection>(); if (input != null) { var type = input.GetType(); if (type == typeof(SelectionSet)) { var selectionSet = input as SelectionSet; ModelItemCollection searchResults = selectionSet.Search.FindAll(Autodesk.Navisworks.Api.Application.ActiveDocument, false); output.Add(searchResults); } if (MainTools.IsList(input) && MainTools.ListContainsType(input, typeof(SelectionSet))) { foreach (var item in input as List <SelectionSet> ) { var selectionSet = item as SelectionSet; ModelItemCollection searchResults = selectionSet.Search.FindAll(Autodesk.Navisworks.Api.Application.ActiveDocument, false); output.Add(searchResults); } } } var objects = new List <object>(); foreach (var item in output) { List <ModelItem> modelitems = new List <ModelItem>(); foreach (var model in item) { modelitems.Add(model); } objects.Add(modelitems); } OutputPorts[0].Data = objects; }