private void enableOptions() { Dictionary <ReportOptions, bool> enabledOptions = new Dictionary <ReportOptions, bool>(); bool notEmptyModel = (model.Summary.NumJoints > 0); bool resultsArrived = (model.Results != null && model.Results.Finished); bool haveDesignOptions = false; Canguro.Model.Design.DesignOptions[] desopt = new Canguro.Model.Design.DesignOptions[] { model.SteelDesignOptions, model.ConcreteDesignOptions, model.ColdFormedDesignOptions, model.AluminumDesignOptions }; foreach (Canguro.Model.Design.DesignOptions opt in desopt) { if (!(opt is Canguro.Model.Design.NoDesign)) { haveDesignOptions = true; break; } } bool steelDesign = model.SteelDesignOptions.ToString().Contains("Sin") || model.SteelDesignOptions.ToString().Contains("No") ? false : true; bool concreteDesign = model.ConcreteDesignOptions.ToString().Contains("Sin") || model.ConcreteDesignOptions.ToString().Contains("No") ? false : true; enabledOptions.Add(ReportOptions.Joints, notEmptyModel); enabledOptions.Add(ReportOptions.Lines, notEmptyModel); enabledOptions.Add(ReportOptions.LoadCases, model.LoadCases.Count > 0); enabledOptions.Add(ReportOptions.JointForces, notEmptyModel); enabledOptions.Add(ReportOptions.GroundDisplacements, notEmptyModel); enabledOptions.Add(ReportOptions.LineConcentratedForces, notEmptyModel); enabledOptions.Add(ReportOptions.LineDistributedLoads, notEmptyModel); enabledOptions.Add(ReportOptions.Materials, notEmptyModel); enabledOptions.Add(ReportOptions.Constraints, model.ConstraintList.Count > 0); enabledOptions.Add(ReportOptions.MaterialAmounts, notEmptyModel); enabledOptions.Add(ReportOptions.Sections, notEmptyModel); enabledOptions.Add(ReportOptions.JointDisplacements, resultsArrived); enabledOptions.Add(ReportOptions.BaseReactions, resultsArrived); enabledOptions.Add(ReportOptions.ElementJointForces, resultsArrived); enabledOptions.Add(ReportOptions.AssembledJointMasses, resultsArrived); // Begin modal tables enabledOptions.Add(ReportOptions.ModalLoadParticipationRatios, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); enabledOptions.Add(ReportOptions.ModalParticipatingMassRatios, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); enabledOptions.Add(ReportOptions.ModalParticipationFactors, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); enabledOptions.Add(ReportOptions.ModalPeriodsAndFrequencies, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); // End modal tables enabledOptions.Add(ReportOptions.ResponseSpectrumInfo, model.Results.ResponseSpectrumMI != null); enabledOptions.Add(ReportOptions.JointReactions, resultsArrived); enabledOptions.Add(ReportOptions.JointAccelerations, model.Results.JointAccelerations != null); enabledOptions.Add(ReportOptions.JointVelocities, model.Results.JointVelocities != null); // Begin design enabledOptions.Add(ReportOptions.DesignOptions, haveDesignOptions); enabledOptions.Add(ReportOptions.SteelDesign, model.Results.DesignSteelSummary != null && model.Results.DesignSteelSummary.Length > 0 && steelDesign); enabledOptions.Add(ReportOptions.SteelDesignPMM, model.Results.DesignSteelPMMDetails != null && model.Results.DesignSteelPMMDetails.Length > 0 && steelDesign); enabledOptions.Add(ReportOptions.SteelDesignShear, model.Results.DesignSteelShearDetails != null && model.Results.DesignSteelShearDetails.Length > 0 && steelDesign); enabledOptions.Add(ReportOptions.ConcreteColumnDesign, model.Results.DesignConcreteColumn != null && model.Results.DesignConcreteColumn.Length > 0 && concreteDesign); enabledOptions.Add(ReportOptions.ConcreteBeamDesign, model.Results.DesignConcreteBeam != null && model.Results.DesignConcreteBeam.Length > 0 && concreteDesign); foreach (string str in allReports.Keys) { if (enabledOptions[allReports[str]]) { optionsCheckedListBox.Items.Add(str); } } }
private void enableOptions() { Dictionary<ReportOptions, bool> enabledOptions = new Dictionary<ReportOptions, bool>(); bool notEmptyModel = (model.Summary.NumJoints > 0); bool resultsArrived = (model.Results != null && model.Results.Finished); bool haveDesignOptions = false; Canguro.Model.Design.DesignOptions[] desopt = new Canguro.Model.Design.DesignOptions[] { model.SteelDesignOptions, model.ConcreteDesignOptions, model.ColdFormedDesignOptions, model.AluminumDesignOptions }; foreach (Canguro.Model.Design.DesignOptions opt in desopt) if (!(opt is Canguro.Model.Design.NoDesign)) { haveDesignOptions = true; break; } bool steelDesign = model.SteelDesignOptions.ToString().Contains("Sin") || model.SteelDesignOptions.ToString().Contains("No") ? false : true; bool concreteDesign = model.ConcreteDesignOptions.ToString().Contains("Sin") || model.ConcreteDesignOptions.ToString().Contains("No") ? false : true; enabledOptions.Add(ReportOptions.Joints, notEmptyModel); enabledOptions.Add(ReportOptions.Lines, notEmptyModel); enabledOptions.Add(ReportOptions.LoadCases, model.LoadCases.Count > 0); enabledOptions.Add(ReportOptions.JointForces, notEmptyModel); enabledOptions.Add(ReportOptions.GroundDisplacements, notEmptyModel); enabledOptions.Add(ReportOptions.LineConcentratedForces, notEmptyModel); enabledOptions.Add(ReportOptions.LineDistributedLoads, notEmptyModel); enabledOptions.Add(ReportOptions.Materials, notEmptyModel); enabledOptions.Add(ReportOptions.Constraints, model.ConstraintList.Count > 0); enabledOptions.Add(ReportOptions.MaterialAmounts, notEmptyModel); enabledOptions.Add(ReportOptions.Sections, notEmptyModel); enabledOptions.Add(ReportOptions.JointDisplacements, resultsArrived); enabledOptions.Add(ReportOptions.BaseReactions, resultsArrived); enabledOptions.Add(ReportOptions.ElementJointForces, resultsArrived); enabledOptions.Add(ReportOptions.AssembledJointMasses, resultsArrived); // Begin modal tables enabledOptions.Add(ReportOptions.ModalLoadParticipationRatios, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); enabledOptions.Add(ReportOptions.ModalParticipatingMassRatios, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); enabledOptions.Add(ReportOptions.ModalParticipationFactors, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); enabledOptions.Add(ReportOptions.ModalPeriodsAndFrequencies, model.Results.ModalLPR != null && model.Results.ModalLPR.Count > 0); // End modal tables enabledOptions.Add(ReportOptions.ResponseSpectrumInfo, model.Results.ResponseSpectrumMI != null); enabledOptions.Add(ReportOptions.JointReactions, resultsArrived); enabledOptions.Add(ReportOptions.JointAccelerations, model.Results.JointAccelerations != null); enabledOptions.Add(ReportOptions.JointVelocities, model.Results.JointVelocities != null); // Begin design enabledOptions.Add(ReportOptions.DesignOptions, haveDesignOptions); enabledOptions.Add(ReportOptions.SteelDesign, model.Results.DesignSteelSummary != null && model.Results.DesignSteelSummary.Length > 0 && steelDesign); enabledOptions.Add(ReportOptions.SteelDesignPMM, model.Results.DesignSteelPMMDetails != null && model.Results.DesignSteelPMMDetails.Length > 0 && steelDesign); enabledOptions.Add(ReportOptions.SteelDesignShear, model.Results.DesignSteelShearDetails != null && model.Results.DesignSteelShearDetails.Length > 0 && steelDesign); enabledOptions.Add(ReportOptions.ConcreteColumnDesign, model.Results.DesignConcreteColumn != null && model.Results.DesignConcreteColumn.Length > 0 && concreteDesign); enabledOptions.Add(ReportOptions.ConcreteBeamDesign, model.Results.DesignConcreteBeam != null && model.Results.DesignConcreteBeam.Length > 0 && concreteDesign); foreach (string str in allReports.Keys) if (enabledOptions[allReports[str]]) optionsCheckedListBox.Items.Add(str); }