internal void Deserialize(Stream file)
{
XmlDocument doc = new XmlDocument();
#if DEBUG
byte[] buf = new byte[file.Length];
file.Read(buf, 0, (int)file.Length);
//File.WriteAllText("C:\\tmp.txt", System.Text.Encoding.ASCII.GetString(buf));
file.Position = 0;
#endif
model.Reset();
doc.Load(file);
Canguro.Model.UnitSystem.UnitSystem uSystem = model.UnitSystem;
model.UnitSystem = Canguro.Model.UnitSystem.InternationalSystem.Instance;
XmlNode root = doc.SelectSingleNode("//XmlExportedFile");
try
{
MarkToDelete();
readBasicElements(root);
foreach (XmlNode child in root.ChildNodes)
{
switch (child.Name)
{
case "Joint_Added_Mass_Assignments":
readJointMasses(child);
break;
case "Joint_Restraint_Assignments":
readJointRestraints(child);
break;
case "Joint_Spring_Assignments_1_-_Uncoupled":
readJointSprings(child);
break;
case "Joint_Loads_-_Force":
readJointForces(child);
break;
case "Joint_Loads_-_Ground_Displacement":
readJointGroundDisplacements(child);
break;
case "Frame_Section_Properties_03_-_Concrete_Beam":
readFrameConcreteBeams(child, model.Sections);
break;
case "Frame_Section_Properties_02_-_Concrete_Column":
readFrameConcreteColumns(child, model.Sections);
break;
case "Frame_Section_Assignments":
readFrameSectionAssignments(child);
break;
case "Frame_Release_Assignments_1_-_General":
readFrameReleases(child);
break;
case "Frame_Release_Assignments_2_-_Partial_Fixity":
readFramePartialFixities(child);
break;
case "Frame_Local_Axes_Assignments_1_-_Typical":
readFrameAngles(child);
break;
case "Frame_Loads_-_Point":
readFramePointLoads(child);
break;
case "Frame_Loads_-_Distributed":
readFrameDistributedLoads(child);
break;
case "Frame_Loads_-_Temperature":
readFrameTemperatureLoads(child);
break;
case "Case_-_Static_1_-_Load_Assignments":
readStaticCases(child);
break;
case "Case_-_Modal_1_-_General":
readModalCases(child);
break;
case "Case_-_Modal_3_-_Load_Assignments_-_Ritz":
readModalRitzCases(child);
break;
case "Case_-_Response_Spectrum_1_-_General":
readResponseSpectrumGeneralCases(child);
break;
case "Case_-_Response_Spectrum_2_-_Load_Assignments":
readResponseSpectrumAssignmentsCases(child);
break;
case "Case_-_Static_4_-_NonLinear_Parameters":
readNonLinearParameters(child);
break;
case "Case_-_Static_2_-_NonLinear_Load_Application":
readNonLinearLoadApplication(child);
break;
case "Frame_Insertion_Point_Assignments":
readFrameInsertionPointAssignments(child);
break;
case "Frame_Offset_Along_Length_Assignments":
readFrameOffsetAssignments(child);
break;
case "Joint_Constraint_Assignments":
readConstraintAssignments(child);
break;
case "T-Results":
new ResultsDeserializer(model).Deserialize(child);
break;
case "T-Treu_Options":
readCanguroVariables(child);
break;
//case "Frame_Design_Procedures":
// readFrameDesignProcs(child);
// break;
default:
break;
}
}
}
catch (Exception e)
{
System.Windows.Forms.MessageBox.Show(Culture.Get("errorLoadingFile"), Culture.Get("error"),
System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
throw;
}
finally
{
DeleteMarked();
// m.UnitSystem = uSystem;
}
}