public static SpeckleObject ToSpeckle(this GSARigidConstraints dummyObject) { var newLines = ToSpeckleBase <GSARigidConstraints>(); var constraintsLock = new object(); var constraints = new List <GSARigidConstraints>(); var nodes = Initialiser.GSASenderObjects.Get <GSANode>(); var stages = Initialiser.GSASenderObjects.Get <GSAConstructionStage>(); Parallel.ForEach(newLines.Keys, k => { try { var constraint = new GSARigidConstraints() { GSAId = k, GWACommand = newLines[k] }; constraint.ParseGWACommand(nodes, stages); lock (constraintsLock) { constraints.Add(constraint); } } catch { } }); Initialiser.GSASenderObjects.AddRange(constraints); return((constraints.Count() > 0) ? new SpeckleObject() : new SpeckleNull()); }
public static SpeckleObject ToSpeckle(this GSARigidConstraints dummyObject) { var newLines = ToSpeckleBase <GSARigidConstraints>(); var constraints = new List <GSARigidConstraints>(); var nodes = Initialiser.GSASenderObjects[typeof(GSANode)].Cast <GSANode>().ToList(); var stages = Initialiser.GSASenderObjects[typeof(GSAConstructionStage)].Cast <GSAConstructionStage>().ToList(); foreach (var k in newLines.Keys) { try { var constraint = new GSARigidConstraints() { GSAId = k, GWACommand = newLines[k] }; constraint.ParseGWACommand(nodes, stages); constraints.Add(constraint); } catch { } } Initialiser.GSASenderObjects[typeof(GSARigidConstraints)].AddRange(constraints); return((constraints.Count() > 0) ? new SpeckleObject() : new SpeckleNull()); }
public static SpeckleObject ToSpeckle(this GSARigidConstraints dummyObject) { var newLines = ToSpeckleBase <GSARigidConstraints>(); var typeName = dummyObject.GetType().Name; var constraintsLock = new object(); var constraints = new SortedDictionary <int, GSARigidConstraints>(); var nodes = Initialiser.GsaKit.GSASenderObjects.Get <GSANode>(); var stages = Initialiser.GsaKit.GSASenderObjects.Get <GSAConstructionStage>(); Parallel.ForEach(newLines.Keys, k => { try { var constraint = new GSARigidConstraints() { GSAId = k, GWACommand = newLines[k] }; constraint.ParseGWACommand(nodes, stages); lock (constraintsLock) { constraints.Add(k, constraint); } } catch (Exception ex) { Initialiser.AppResources.Messenger.CacheMessage(MessageIntent.Display, MessageLevel.Error, typeName, k.ToString()); Initialiser.AppResources.Messenger.CacheMessage(MessageIntent.TechnicalLog, MessageLevel.Error, ex, typeName, k.ToString()); } }); Initialiser.GsaKit.GSASenderObjects.AddRange(constraints.Values.ToList()); return((constraints.Keys.Count > 0) ? new SpeckleObject() : new SpeckleNull()); }