private void readResponseSpectrumLoadCase(XmlNode node)
{
string name = readAttribute(node, "Case", "").Trim();
name = (name.Length > 0) ? name : Culture.Get("Case");
AnalysisCase aCase = null;
foreach (AnalysisCase ac in model.AbstractCases)
if (name.Equals(ac.Name))
{
aCase = ac;
break;
}
if (aCase != null)
{
ResponseSpectrumCaseProps rsp = aCase.Properties as ResponseSpectrumCaseProps;
if (rsp == null)
{
rsp = new ResponseSpectrumCaseProps();
aCase.Properties = rsp;
}
List<ResponseSpectrumCaseFactor> list = rsp.Loads;
//readAttribute(node, "LoadType", "Acceleration");
AccelLoad load = new AccelLoad(decodeAccel(readAttribute(node, "LoadName", "Accel U1")));
bool contains = false;
foreach (ResponseSpectrumCaseFactor rscf in list)
if (rscf.Accel.Equals(load))
contains = true;
if (!contains)
{
list.Add(new ResponseSpectrumCaseFactor(load));
rsp.Loads = list;
}
//readAttribute(node, "CoordSys", "GLOBAL");
float factor = float.Parse(readAttribute(node, "TransAccSF", "1"));
string spectrum = readAttribute(node, "Function", rsp.ResponseSpectrumFunction.ToString());
foreach (ResponseSpectrum rs in model.ResponseSpectra)
if (spectrum.Equals(rs.ToString()))
{
rsp.ResponseSpectrumFunction = rs;
rsp.ScaleFactor = factor;
break;
}
//readAttribute(node, "Angle", "0");
}
}