/// <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)); } }
/// <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)); }
/// <summary> /// Removes the combination. /// </summary> /// <param name="loadCombination">The load combination.</param> public void Remove(LoadCombination loadCombination) { set(loadCombination, selectLoadCombination: false); }
/// <summary> /// Adds the combination. /// </summary> /// <param name="loadCombination">The load combination.</param> public void Add(LoadCombination loadCombination) { set(loadCombination, selectLoadCombination: true); }