/// <summary>
        /// Returns a new load combination class.
        /// </summary>
        /// <param name="analyzer">The analyzer.</param>
        /// <param name="loadCases">The load cases.</param>
        /// <param name="loadCombinations">The load combinations.</param>
        /// <param name="uniqueName">Unique load combination name.</param>
        /// <returns>Steel.</returns>
        internal static LoadCombination Factory(
            Analyzer analyzer,
            LoadCases loadCases,
            LoadCombinations loadCombinations,
            string uniqueName)
        {
            LoadCombination loadCombination = new LoadCombination(analyzer, loadCases, loadCombinations, uniqueName);

            return(loadCombination);
        }
 /// <summary>
 /// Adds or modifies one response combination in the list of cases included in the load combination.
 /// </summary>
 /// <param name="loadCombination">The load combination included within the load combination.</param>
 /// <param name="scaleFactor">The scale factor multiplying the combination.</param>
 public void SetComboList(
     LoadCombination loadCombination,
     double scaleFactor)
 {
     if (Combinations.Any(c => c.Load == loadCombination))
     {
         var combinations = new List <LoadTuple <LoadCombination> >(Combinations.Where(c => c.Load == loadCombination));
         combinations[0].Scale = scaleFactor;
     }
     else
     {
         Combinations.Add(new LoadTuple <LoadCombination>(loadCombination, scaleFactor));
     }
 }
예제 #3
0
 /// <summary>
 /// Selects or deselects a load combination for deflection design.
 /// </summary>
 /// <param name="loadCombination">An existing load combination.</param>
 /// <param name="selectLoadCombination">True: The specified load combination is selected as a design combination for deflection design.
 /// False: The combination is not selected for deflection design.</param>
 private void set(LoadCombination loadCombination, bool selectLoadCombination)
 {
     if (selectLoadCombination)
     {
         if (!CombinationNames.Contains(loadCombination.Name))
         {
             CombinationNames.Add(loadCombination.Name);
         }
         if (!Combinations.Contains(loadCombination))
         {
             _combinations.Add(loadCombination);
         }
     }
     else
     {
         CombinationNames.Remove(loadCombination.Name);
         _combinations.Remove(loadCombination);
     }
 }
 /// <summary>
 /// Removes one load case or load combination from the list of cases included in the specified load combination.
 /// </summary>
 /// <param name="loadCombination">The load combination included within the load combination.</param>
 public void RemoveCombo(LoadCombination loadCombination)
 {
     CombinationNames.Remove(CombinationNames.FirstOrDefault(o => o.Item1 == loadCombination.Name));
     Combinations.Remove(Combinations.FirstOrDefault(o => o.Load == loadCombination));
 }
예제 #5
0
 /// <summary>
 /// Removes the combination.
 /// </summary>
 /// <param name="loadCombination">The load combination.</param>
 public void Remove(LoadCombination loadCombination)
 {
     set(loadCombination, selectLoadCombination: false);
 }
예제 #6
0
 /// <summary>
 /// Adds the combination.
 /// </summary>
 /// <param name="loadCombination">The load combination.</param>
 public void Add(LoadCombination loadCombination)
 {
     set(loadCombination, selectLoadCombination: true);
 }