static IXEP_EmdElement FindReinforcementElement(IXEP_EmdElement elem4Work, int sectionID) { IXEP_EmdElement reinfElem = elem4Work; if (elem4Work.Name == XEP_EmdFileConstants.s_FakeRootElementName) { // more sections List <IXEP_EmdElement> sections = XEP_BaseEmdFile.GetElements(elem4Work, XEP_EmdNames.s_KeySection); IXEP_EmdElement needSection = sections.Where(item => item.GetAttribute(XEP_EmdNames.s_KeyID).GetIntValue() == sectionID).First(); IXEP_EmdAttribute attID = needSection.GetAttribute(XEP_EmdNames.s_KeyID); if (attID == null) { throw new InvalidOperationException("Section in reinforcement file does not have attribute: " + XEP_EmdNames.s_KeyID); } if (attID.Value != sectionID.ToString()) { throw new InvalidOperationException("Section ID attribute is not equals section ID inputed, actual:" + attID.Value + " wanted: " + sectionID.ToString()); } reinfElem = XEP_BaseEmdFile.GetElement(needSection, XEP_EmdNames.s_KeyReinforcement); } if (reinfElem == null) { throw new InvalidOperationException("There is not reinforcemnt element for sectionID: " + sectionID.ToString()); } XEP_BaseEmdFile.CheckName(reinfElem.Name, XEP_EmdNames.s_KeyReinforcement); return(reinfElem); }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyStirrupZone); Clear(); foreach (var item in elem.Elements) { if (item.Name == XEP_EmdNames.s_KeyStirrup) { IXEP_EmdStirrupData stirrupData = XEP_EmdFactrory.CreateEmdStirrupData(); stirrupData.CreateFromEmdElement(item); Stirrups.Add(stirrupData); } else if (item.Name == XEP_EmdNames.s_KeyStirrupZoneShape) { ZoneShape.CreateFromEmdElement(item); } else { throw new InvalidOperationException("Invalid element in stirrup zone, element name: " + item.Name); } } ZoneID = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneID).GetIntValue(); Material = elem.GetAttribute(XEP_EmdFileConstants.s_RefAttributEmdTag + XEP_EmdNames.s_KeyStirrupZoneMaterial).Value; ZoneBeg = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneZoneBeg).GetDoubleValue(); ZoneEnd = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneZoneEnd).GetDoubleValue(); IsAutoCutsCalc = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneIsAutoCutsCalc).GetIntValue(); NumCutUser = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneNumCutUser).GetIntValue(); Position = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZonePosition).Value; Coeff = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneCoef).GetDoubleValue(); }
void PrepareZoneFromElement(IXEP_EmdElement zone) { m_zone4Work = XEP_EmdFactrory.CreateEmdStirrupZoneData(); m_zone4Work.CreateFromEmdElement(zone); m_zone4Work.ZoneBeg = m_zoneBeg; m_zone4Work.ZoneEnd = m_zoneEnd; }
public void Load(Stream stream) { using (StreamReader reader = new StreamReader(stream)) { m_emdReader.Read(reader); } Root = m_emdReader.Root.CreateEmdElement(); }
public List <Point> GetShape() { IXEP_EmdElement domCompElem = GetElement(DocumentRoot, XEP_EmdNames.s_KeyComponent); IXEP_EmdElement domShapeElem = GetElement(domCompElem, XEP_EmdNames.s_KeyShape); IXEP_EmdShapeData data = XEP_EmdFactrory.CreateEmdShapeData(); data.CreateFromEmdElement(domShapeElem); return(data.Create()); }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyStirrup); DX = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupDX).GetDoubleValue(); D = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupD).GetDoubleValue(); Multiply = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupMultiply).GetIntValue(); DsL = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupDsL).GetDoubleValue(); DsR = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupDsR).GetDoubleValue(); Dss = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupDss).GetDoubleValue(); }
static public IXEP_EmdElement GetElement(IXEP_EmdElement elem4Find, string name) { if (elem4Find.Elements == null || elem4Find.Elements.Count == 0) { return(null); } IXEP_EmdElement domEmdElem = elem4Find.Elements.Where(item => item.Name == name).First(); return(domEmdElem); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyPoint; // elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyPointX, X.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyPointY, Y.ToString())); return(elemEmd); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyPrincipal; // elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeysmallY, y.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeysmallZ, z.ToString())); return(elemEmd); }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyShape); Points.Clear(); foreach (var item in elem.Elements) { IXEP_EmdPointData pointData = XEP_EmdFactrory.CreateEmdPointData(); pointData.CreateFromEmdElement(item); Points.Add(pointData); } }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyStirrupZoneShape); Branches.Clear(); foreach (var item in elem.Elements) { IXEP_EmdStirrupBranchData branchData = XEP_EmdFactrory.CreateEmdStirrupBranchData(); branchData.CreateFromEmdElement(item); Branches.Add(branchData); } }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elem = XEP_EmdFactrory.CreateEmdElement(); elem.Name = XEP_EmdNames.s_KeyShape; foreach (var item in Points) { elem.Elements.Add(item.CreateEmdElement()); } return(elem); }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyBar); ComponentID = elem.GetAttribute(XEP_EmdNames.s_KeyBarComponentID).GetIntValue(); X = elem.GetAttribute(XEP_EmdNames.s_KeyBarX).GetDoubleValue(); Y = elem.GetAttribute(XEP_EmdNames.s_KeyBarY).GetDoubleValue(); D = elem.GetAttribute(XEP_EmdNames.s_KeyBarD).GetDoubleValue(); RefMaterial = elem.GetAttribute(XEP_EmdFileConstants.s_RefAttributEmdTag + XEP_EmdNames.s_KeyBarMaterial).Value; IsActive = elem.GetAttribute(XEP_EmdNames.s_KeyBarIsActive).GetIntValue(); IsDetailing = elem.GetAttribute(XEP_EmdNames.s_KeyBarIsDetailing).GetIntValue(); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elem = XEP_EmdFactrory.CreateEmdElement(); elem.Name = XEP_EmdNames.s_KeyGeometry; foreach (var item in Items) { elem.AddAttribute(item.CreateAttribute()); } return(elem); }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyLoad); ID = elem.GetAttribute(XEP_EmdNames.s_KeyLoadID).GetIntValue(); Type = elem.GetAttribute(XEP_EmdNames.s_KeyLoadType).GetIntValue(); if (elem.AttHelp.Count > 2) { LimitState = elem.GetAttribute(XEP_EmdNames.s_KeyLoadLimitState).GetIntValue(); CombiKey = elem.GetAttribute(XEP_EmdNames.s_KeyLoadCombiKey).Value; CombiType = elem.GetAttribute(XEP_EmdNames.s_KeyLoadCombiType).GetIntValue(); } }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyInternalForces); ID = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesID).GetIntValue(); N = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesN).GetDoubleValue(); My = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesMy).GetDoubleValue(); Mz = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesMz).GetDoubleValue(); Mx = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesMx).GetDoubleValue(); Vy = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesVy).GetDoubleValue(); Vz = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesVz).GetDoubleValue(); IsCritical = elem.GetAttribute(XEP_EmdNames.s_KeyInternalForcesIsCritical).GetIntValue(); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyLoad; // elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyLoadID, ID.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyLoadType, Type.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyLoadLimitState, LimitState.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyLoadCombiKey, CombiKey)); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyLoadCombiType, CombiType.ToString())); return(elemEmd); }
static public void RemoveElements(IXEP_EmdElement elem4Work, string name) { List <IXEP_EmdElement> domEmdElems4Remove = elem4Work.Elements.Where(item => item.Name == name).ToList(); if (domEmdElems4Remove == null || domEmdElems4Remove.Count == 0) { return; } foreach (var item in domEmdElems4Remove) { elem4Work.Elements.Remove(item); } }
static protected void SaveElement(IXEP_EmdElement elem4Work, IXEP_EmdElement elem4Save, string name4Save) { CheckName(elem4Save.Name, name4Save); IXEP_EmdElement domEmdElem = GetElement(elem4Work, elem4Save.Name); if (domEmdElem == null) { elem4Work.Elements.Add(elem4Save); } else { domEmdElem.LoadEmdElement(elem4Save); } }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyStirrup; // elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupDX, DX.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupD, D.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupMultiply, Multiply.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupDsL, DsL.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupDsR, DsR.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupDss, Dss.ToString())); return(elemEmd); }
public void LoadEmdElement(IXEP_EmdElement elem) { Name = elem.Name; Elements.Clear(); m_attributes.Clear(); foreach (var attribut in elem.AttHelp) { AddAttribute(attribut); } foreach (var childElem in elem.Elements) { Elements.Add(childElem); } }
public void CreateFromEmdElement(IXEP_EmdElement elem) { XEP_BaseEmdFile.CheckName(elem.Name, XEP_EmdNames.s_KeyStirrupBranch); Points.Clear(); foreach (var item in elem.Elements) { IXEP_EmdPointData pointData = XEP_EmdFactrory.CreateEmdPointData(); pointData.CreateFromEmdElement(item); Points.Add(pointData); } IsActive = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupIsActive).GetIntValue(); IsDetailing = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupIsDetailing).GetIntValue(); IsTorsion = elem.GetAttribute(XEP_EmdNames.s_KeyStirrupIsTorsion).GetIntValue(); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elem = XEP_EmdFactrory.CreateEmdElement(); elem.Name = XEP_EmdNames.s_KeyStirrupBranch; foreach (var item in Points) { elem.Elements.Add(item.CreateEmdElement()); } elem.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupIsActive, IsActive.ToString())); elem.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupIsDetailing, IsDetailing.ToString())); elem.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyStirrupIsTorsion, IsTorsion.ToString())); return(elem); }
static IXEP_EmdElement FindReinforcementElement4StirrupZones(IXEP_EmdElement elem4Work) { IXEP_EmdElement reinfElem = elem4Work; if (elem4Work.Name == XEP_EmdFileConstants.s_FakeRootElementName) { // more sections reinfElem = XEP_BaseEmdFile.GetElement(elem4Work, XEP_EmdNames.s_KeyReinforcement); } if (reinfElem == null) { throw new InvalidOperationException("There is not reinforcemnt element for stirrups !"); } XEP_BaseEmdFile.CheckName(reinfElem.Name, XEP_EmdNames.s_KeyReinforcement); return(reinfElem); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyFibre; IXEP_EmdAttribute attEmd = XEP_EmdFactrory.CreateEmdAttribute(); attEmd.Name = XEP_EmdNames.s_KeyFlag; attEmd.Value = Flag.ToString(); elemEmd.AddAttribute(attEmd); // elemEmd.Elements.Add(Lcs.CreateEmdElement()); elemEmd.Elements.Add(Principal.CreateEmdElement()); return(elemEmd); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyBar; // elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyBarComponentID, ComponentID.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyBarX, X.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyBarY, Y.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyBarD, D.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdFileConstants.s_RefAttributEmdTag + XEP_EmdNames.s_KeyBarMaterial, RefMaterial)); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyBarIsActive, IsActive.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyBarIsDetailing, IsDetailing.ToString())); return(elemEmd); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement emdElem = XEP_EmdFactrory.CreateEmdElement(); emdElem.Name = Name; foreach (var attribut in Attributes) { emdElem.AddAttribute(attribut); } foreach (var childElem in Lines) { emdElem.Elements.Add(childElem.CreateEmdElement()); } return(emdElem); }
public IXEP_EmdElement CreateEmdElement() { IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement(); elemEmd.Name = XEP_EmdNames.s_KeyInternalForces; // elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesID, ID.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesN, N.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesMy, My.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesMz, Mz.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesMx, Mx.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesVy, Vy.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesVz, Vz.ToString())); elemEmd.AddAttribute(XEP_EmdFactrory.CreateEmdAttribute(XEP_EmdNames.s_KeyInternalForcesIsCritical, IsCritical.ToString())); return(elemEmd); }
public List <IXEP_EmdInternalForcesData> GetInternalForces(int sectionID = -1) { if (sectionID != -1) { m_sectionID = sectionID; } if (m_sectionID < 0) { throw new InvalidOperationException("Section ID has to be possitive, input possitive number or call PrepareDocument with possitive number before !"); } List <IXEP_EmdElement> domElems = GetElements(DocumentRoot, XEP_EmdNames.s_KeySection); if (DocumentRoot.Name == XEP_EmdNames.s_KeySection && domElems.Count == 0) { // only one section domElems.Add(DocumentRoot); } if (domElems == null || domElems.Count == 0) { return(new List <IXEP_EmdInternalForcesData>()); } IXEP_EmdElement neededSection = null; foreach (var item in domElems) { int actID = item.GetAttribute(XEP_EmdNames.s_KeyID).GetIntValue(); if (actID == m_sectionID) { neededSection = item; break; } } if (neededSection == null) { return(new List <IXEP_EmdInternalForcesData>()); } List <IXEP_EmdElement> domElemsInternalForces = GetElements(neededSection, XEP_EmdNames.s_KeyInternalForces); List <IXEP_EmdInternalForcesData> retVal = new List <IXEP_EmdInternalForcesData>(); foreach (var item in domElemsInternalForces) { IXEP_EmdInternalForcesData emdData = XEP_EmdFactrory.CreateEmdInternalForcesData(); emdData.CreateFromEmdElement(item); retVal.Add(emdData); } return(retVal); }
public void PrepareZones(IXEP_EmdElement reinf4Stirrups, double sectionPos, string baseMat, double zoneBeg, double zoneEnd) { m_zonesBefore.Clear(); m_zonesAfter.Clear(); m_zone4Work = null; m_sectionPos = sectionPos; m_baseMat = baseMat; m_zoneBeg = zoneBeg; m_zoneEnd = zoneEnd; m_reinf4Stirrups = reinf4Stirrups; XEP_BaseEmdFile.CheckName(m_reinf4Stirrups.Name, XEP_EmdNames.s_KeyReinforcement); List <IXEP_EmdElement> currentZoneCandidates = PrepareCurrentZoneCandidates(); if (currentZoneCandidates == null || currentZoneCandidates.Count == 0) { PrepareZone4NoZones(); } else if (currentZoneCandidates.Count == 1) { PrepareZoneFromElement(currentZoneCandidates[0]); } else { bool wasMatch = false; foreach (var zone in currentZoneCandidates) { double actZoneBeg = zone.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneZoneBeg).GetDoubleValue(); double actZoneEnd = zone.GetAttribute(XEP_EmdNames.s_KeyStirrupZoneZoneEnd).GetDoubleValue(); if (sectionPos > actZoneBeg && sectionPos < actZoneEnd) { PrepareZoneFromElement(zone); wasMatch = true; break; } } if (!wasMatch) { PrepareZoneFromElement(currentZoneCandidates[0]); } } if (m_zone4Work == null) { PrepareZone4NoZones(); } }