//============================================================================= /// <summary> /// Add row to this column. /// </summary> public bool AddRow(double maxBeamSpan, double usl, string strBracingType, double maxLoad) { if (Utils.FLE(maxBeamSpan, 0.0) || Utils.FLE(usl, 0.0) || string.IsNullOrEmpty(strBracingType) || Utils.FLE(maxLoad, 0.0)) { return(false); } eColumnBracingType bracingType = RackLoadUtils.GetColumnBracingTypeByString(strBracingType.Trim()); if (eColumnBracingType.eUndefined == bracingType) { return(false); } // if (!m_FrameLoadDictionary.ContainsKey(maxBeamSpan) || m_FrameLoadDictionary[maxBeamSpan] == null) { m_FrameLoadDictionary[maxBeamSpan] = new Dictionary <double, Dictionary <eColumnBracingType, double> >(); } // if (!m_FrameLoadDictionary[maxBeamSpan].ContainsKey(usl) || m_FrameLoadDictionary[maxBeamSpan][usl] == null) { m_FrameLoadDictionary[maxBeamSpan][usl] = new Dictionary <eColumnBracingType, double>(); } m_FrameLoadDictionary[maxBeamSpan][usl][bracingType] = maxLoad; return(true); }
// public static string GetColumnBracingTypeByEnum(eColumnBracingType bracingType) { if (eColumnBracingType.eNormalBracing == bracingType) { return(NORMAL_BRACING); } else if (eColumnBracingType.eXBracing == bracingType) { return(X_BRACING); } else if (eColumnBracingType.eNormalBracingWithStiffener == bracingType) { return(NORMAL_BRACING_WITH_STIFFENER); } else if (eColumnBracingType.eXBracingWithStiffener == bracingType) { return(X_BRACING_WITH_STIFFENER); } return(string.Empty); }
//============================================================================= /// <summary> /// Return the column which can handle passed parameter. /// </summary> public static RackColumn GetRackColumn(List <RackColumn> RacksColumnsList, double beamSpan, double usl, double load, out eColumnBracingType bracingType) { bracingType = eColumnBracingType.eUndefined; if (RacksColumnsList == null) { return(null); } if (Utils.FLE(beamSpan, 0.0) || Utils.FLE(usl, 0.0) || Utils.FLE(load, 0.0)) { return(null); } foreach (RackColumn rackColumn in RacksColumnsList) { if (rackColumn == null) { continue; } // Search algo: // 1. Go through the column and look at the bracing type. // 2. If bracing type is NormalBracing or XBracing then stop search and return this column. // 3. Otherwise take next column and compare. // // Column are ordered by the way they are ordered in the excel file. eColumnBracingType columnBracingType = rackColumn.GetBracing(beamSpan, usl, load); if (eColumnBracingType.eUndefined != columnBracingType) { bracingType = columnBracingType; return(rackColumn); } } return(null); }