/// <summary> /// Initializes a new instance of the <see cref="DesignerMetal{T}"/> class. /// </summary> /// <param name="app">The application.</param> /// <param name="groups">The groups.</param> /// <param name="loadCombinations">The load combinations.</param> /// <param name="loadCases">The load cases.</param> /// <param name="apiObject">The API object.</param> protected DesignerMetal( ApiCSiApplication app, Groups groups, LoadCombinations loadCombinations, LoadCases loadCases, T apiObject) : base(app, groups, loadCombinations, apiObject) { _loadCases = loadCases; _apiComboDeflection = apiObject; _apiTargetPeriod = apiObject; _apiTargetDisplacement = apiObject; }
/// <summary> /// Sets time period targets for steel design. /// </summary> /// <param name="allSpecifiedTargetsActive">True: All specified targets are active. /// False: They are inactive.</param> /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception> protected void setTargetPeriods(ITargetPeriod app, bool allSpecifiedTargetsActive) { int[] modeNumbers = new int[TargetPeriods.Count]; for (int i = 0; i < TargetPeriods.Count; i++) { modeNumbers[i] = TargetPeriods[i].ModeNumber; } double[] periodTargets = new double[TargetPeriods.Count]; for (int i = 0; i < TargetPeriods.Count; i++) { periodTargets[i] = TargetPeriods[i].Value; } app.SetTargetPeriod(ModalCase, modeNumbers, periodTargets, allSpecifiedTargetsActive); AllSpecifiedPeriodTargetsActive = allSpecifiedTargetsActive; }
/// <summary> /// Retrieves time period targets for steel design. /// </summary> /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception> protected void getTargetPeriods(ITargetPeriod app) { app.GetTargetPeriod( out var modalCase, out var modeNumbers, out var periodTargets, out var allSpecifiedTargetsActive); ModalCase = modalCase; AllSpecifiedPeriodTargetsActive = allSpecifiedTargetsActive; TargetPeriods.Clear(); for (int i = 0; i < modeNumbers.Length; i++) { TargetPeriod targetPeriod = new TargetPeriod() { ModeNumber = modeNumbers[i], Value = periodTargets[i] }; TargetPeriods.Add(targetPeriod); } }
/// <summary> /// Initializes a new instance of the <see cref="TargetPeriods"/> class. /// </summary> /// <param name="apiTargetPeriod">The API target period.</param> /// <param name="loadCases">The load cases.</param> public TargetPeriods(ITargetPeriod apiTargetPeriod, LoadCases loadCases) { _apiTargetPeriod = apiTargetPeriod; _loadCases = loadCases; }