Example #1
0
        public static SpeckleObject ToSpeckle(this GSAStructuralStagedNodalRestraints dummyObject)
        {
            var newLines = ToSpeckleBase <GSAStructuralStagedNodalRestraints>();

            var nodalRestraintsLock = new object();
            var genNodalRestraints  = new List <GSAStructuralStagedNodalRestraints>();

            var stageDefs = Initialiser.GSASenderObjects.Get <GSAConstructionStage>();
            var nodes     = Initialiser.GSASenderObjects.Get <GSANode>();

            Parallel.ForEach(newLines.Keys, k =>
            {
                try
                {
                    var genNodalRestraint = new GSAStructuralStagedNodalRestraints()
                    {
                        GSAId = k, GWACommand = newLines[k]
                    };
                    genNodalRestraint.ParseGWACommand(nodes, stageDefs);
                    lock (nodalRestraintsLock)
                    {
                        genNodalRestraints.Add(genNodalRestraint);
                    }
                }
                catch { }
            });

            Initialiser.GSASenderObjects.AddRange(genNodalRestraints);

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

            var genNodeRestraints = new List <GSAStructuralStagedNodalRestraints>();

            var stageDefs = Initialiser.GSASenderObjects[typeof(GSAConstructionStage)].Cast <GSAConstructionStage>().ToList();
            var nodes     = Initialiser.GSASenderObjects[typeof(GSANode)].Cast <GSANode>().ToList();

            foreach (var k in newLines.Keys)
            {
                try
                {
                    var genNodeRestraint = new GSAStructuralStagedNodalRestraints()
                    {
                        GSAId = k, GWACommand = newLines[k]
                    };
                    genNodeRestraint.ParseGWACommand(nodes, stageDefs);
                    genNodeRestraints.Add(genNodeRestraint);
                }
                catch { }
            }

            Initialiser.GSASenderObjects[typeof(GSAStructuralStagedNodalRestraints)].AddRange(genNodeRestraints);

            return((genNodeRestraints.Count() > 0) ? new SpeckleObject() : new SpeckleNull());
        }