Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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());
        }