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()); }