Exemple #1
0
        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;
                }
            }
        }
Exemple #2
0
        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;
        }