Ejemplo n.º 1
0
        public static SpeckleObject ToSpeckle(this GSANode dummyObject)
        {
            var newLines  = ToSpeckleBase <GSANode>();
            var typeName  = dummyObject.GetType().Name;
            var nodesLock = new object();
            var nodes     = new SortedDictionary <int, GSANode>();

            Parallel.ForEach(newLines.Keys, k =>
            {
                var pPieces = newLines[k].ListSplit(Initialiser.AppResources.Proxy.GwaDelimiter);
                var gsaId   = pPieces[1];
                var node    = new GSANode {
                    GWACommand = newLines[k]
                };
                try
                {
                    node.ParseGWACommand();
                    lock (nodesLock)
                    {
                        nodes.Add(k, node);
                    }
                }
                catch (Exception ex)
                {
                    Initialiser.AppResources.Messenger.CacheMessage(MessageIntent.Display, MessageLevel.Error, typeName, gsaId);
                    Initialiser.AppResources.Messenger.CacheMessage(MessageIntent.TechnicalLog, MessageLevel.Error, ex, typeName, gsaId);
                }
            }
                             );

            Initialiser.GsaKit.GSASenderObjects.AddRange(nodes.Values.ToList());

            return((nodes.Keys.Count > 0) ? new SpeckleObject() : new SpeckleNull());
        }
Ejemplo n.º 2
0
        public static SpeckleObject ToSpeckle(this GSANode dummyObject)
        {
            var newLines = ToSpeckleBase <GSANode>();

            var nodes = new List <GSANode>();

            foreach (var p in newLines.Values)
            {
                var node = new GSANode {
                    GWACommand = p
                };
                node.ParseGWACommand();
                nodes.Add(node);
            }

            Initialiser.GSASenderObjects[typeof(GSANode)].AddRange(nodes);

            return((nodes.Count() > 0) ? new SpeckleObject() : new SpeckleNull());
        }
        public static SpeckleObject ToSpeckle(this GSANode dummyObject)
        {
            var newLines = ToSpeckleBase <GSANode>();

            var nodesLock = new object();
            var nodes     = new List <GSANode>();

            Parallel.ForEach(newLines.Values, p =>
            {
                var node = new GSANode {
                    GWACommand = p
                };
                node.ParseGWACommand();
                lock (nodesLock)
                {
                    nodes.Add(node);
                }
            }
                             );

            Initialiser.GSASenderObjects.AddRange(nodes);

            return((nodes.Count() > 0) ? new SpeckleObject() : new SpeckleNull());
        }
Ejemplo n.º 4
0
 public static SpeckleObject ToSpeckle(this GSANode dummyObject) => (new GsaNode()).ToSpeckle();