public static SpeckleObject ToSpeckle(this GSA0DLoadPoint dummyObject) { var newPoints = ToSpeckleBase <GSA0DLoadPoint>(); var loads = new List <GSA0DLoadPoint>(); var nodes = Initialiser.GSASenderObjects.Get <GSANode>(); foreach (var p in newPoints.Values) { var loadSubList = new List <GSA0DLoadPoint>(); // Placeholder load object to get list of nodes and load values // Need to transform to axis so one load definition may be transformed to many var initLoad = new GSA0DLoadPoint() { GWACommand = p }; initLoad.ParseGWACommand(); // Raise node flag to make sure it gets sent foreach (var n in nodes.Where(n => initLoad.Value.NodeRefs.Contains(n.Value.ApplicationId))) { n.ForceSend = true; } loads.AddRange(loadSubList); } Initialiser.GSASenderObjects.AddRange(loads); return((loads.Count() > 0) ? new SpeckleObject() : new SpeckleNull()); }
public static SpeckleObject ToSpeckle(this GSA0DLoadPoint dummyObject) { var newPoints = ToSpeckleBase <GSA0DLoadPoint>(); var loads = new List <GSA0DLoadPoint>(); var keyword = dummyObject.GetGSAKeyword(); foreach (var k in newPoints.Keys) { var p = newPoints[k]; var loadSubList = new List <GSA0DLoadPoint>(); // Placeholder load object to get list of nodes and load values // Need to transform to axis so one load definition may be transformed to many var initLoad = new GSA0DLoadPoint() { GWACommand = p, GSAId = k }; try { initLoad.ParseGWACommand(); } catch (Exception ex) { Initialiser.AppResources.Messenger.Message(MessageIntent.TechnicalLog, MessageLevel.Error, ex, "Keyword=" + keyword, "Index=" + k); } loads.AddRange(loadSubList); } if (loads.Count() > 0) { Initialiser.GsaKit.GSASenderObjects.AddRange(loads); } return((loads.Count() > 0) ? new SpeckleObject() : new SpeckleNull()); }