public XElement GetAnalyticalOpenings()
{
// openings for the first EnergyAnalysisDetailModel whose openings should not be merged
XElement openingsNode = new XElement("OpeningsModels");
openingsNode.Add(new XAttribute("Name", "OpeningsModels"));
// get EnergyAnalysisOpenings from Model1
IList<EnergyAnalysisOpening> openings = m_energyAnalysisDetailModel.GetAnalyticalOpenings();
foreach (EnergyAnalysisOpening opening in openings)
{
XElement openNode = new XElement("Open");
openNode.Add(new XAttribute("Name", opening.Name));
// add individual opening node to whol openings node
openingsNode.Add(openNode);
// get surfaces from opening
EnergyAnalysisSurface openingSurface = opening.GetAnalyticalSurface();
if (null == openingSurface)
continue;
XElement surfaceNode = new XElement("Surface");
surfaceNode.Add(new XAttribute("Name", openingSurface.Name));
openNode.Add(surfaceNode);
}
// return the whole openings node
return openingsNode;
}