public void Load(XElement stbElem, StbVersion stbVersion) { switch (stbVersion) { case StbVersion.Ver1: IEnumerable <XElement> xNodeIds = stbElem.Element("StbNodeid_List")?.Elements("StbNodeid"); if (xNodeIds != null) { foreach (XElement xNodeId in xNodeIds) { IdList.Add((int)xNodeId.Attribute("id")); } } break; case StbVersion.Ver2: string xNodeIdOrders = stbElem.Value; List <string> nodeList = xNodeIdOrders.Split(' ').ToList(); foreach (string node in nodeList) { IdList.Add(int.Parse(node)); } break; default: throw new ArgumentOutOfRangeException(nameof(stbVersion), stbVersion, "The STB version is not set"); } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); if (stbElem.Attribute("kind_layout") == null) { KindLayout.Add(KindsLayout.Other); } else { switch ((string)stbElem.Attribute("kind_layout")) { case "ON_GIRDER": KindLayout.Add(KindsLayout.OnGirder); break; case "ON_BEAM": KindLayout.Add(KindsLayout.OnBeam); break; case "ON_SLAB": KindLayout.Add(KindsLayout.OnSlab); break; default: KindLayout.Add(KindsLayout.Other); break; } } var stbOpen = new StbOpen(); stbOpen.Load(stbElem, version); Opens.Add(stbOpen); }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); switch (version) { case StbVersion.Ver1: IdNodeStart.Add((int)stbElem.Attribute("idNode_start")); IdNodeEnd.Add((int)stbElem.Attribute("idNode_end")); break; case StbVersion.Ver2: IdNodeStart.Add((int)stbElem.Attribute("id_node_start")); IdNodeEnd.Add((int)stbElem.Attribute("id_node_end")); break; default: throw new ArgumentOutOfRangeException(nameof(version), version, "The STB version is not set"); } if (stbElem.Attribute("level") != null) { Level.Add((double)stbElem.Attribute("level")); } else { Level.Add(0d); } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); // 子要素 StbNodeid_List var stbNodeIdList = new StbNodeIdList(); stbNodeIdList.Load(stbElem, version); NodeIdList.Add(stbNodeIdList.IdList); }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); if (stbElem.Attribute("level") != null) { Level.Add((double)stbElem.Attribute("level")); } else { Level.Add(0d); } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); Id.Add((int)stbElem.Attribute("id")); if (stbElem.Attribute("floor") != null) { Floor.Add((string)stbElem.Attribute("floor")); } else { Floor.Add(string.Empty); } }
public virtual void Load(XDocument stbFile, StbVersion version, string xmlns) { if (stbFile.Root == null) { return; } IEnumerable <XElement> stbElems = stbFile.Root.Descendants(xmlns + Tag); foreach (XElement stbElem in stbElems) { ElementLoader(stbElem, version, xmlns); } }
public override void Load(XDocument stbData, StbVersion stbVersion, string xmlns) { if (stbData.Root == null) { return; } IEnumerable <XElement> stSecSteel = stbData.Root.Descendants(xmlns + Tag); IEnumerable <XElement> stSections = stSecSteel.Elements(xmlns + ElementTag); foreach (XElement stSection in stSections) { ElementLoader(stSection, stbVersion, xmlns); } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); Height.Add((double)stbElem.Attribute("height")); switch ((string)stbElem.Attribute("kind")) { case "GENERAL": Kind.Add(KindsStory.General); break; case "BASEMENT": Kind.Add(KindsStory.Basement); break; case "ROOF": Kind.Add(KindsStory.Roof); break; case "PENTHOUSE": Kind.Add(KindsStory.Penthouse); break; case "ISOLATION": Kind.Add(KindsStory.Isolation); break; case "DEPENDENCE": Kind.Add(KindsStory.Dependence); break; default: Kind.Add(KindsStory.Any); break; } // 必須ではないコード if (stbElem.Attribute("name") != null) { Name.Add((string)stbElem.Attribute("name")); } else { Name.Add(string.Empty); } if (stbElem.Attribute("concrete_strength") != null) { StrengthConcrete.Add((string)stbElem.Attribute("concrete_strength")); } else { StrengthConcrete.Add(string.Empty); } }
public StbData(string path, double toleLength, double toleAngle) { ToleLength = toleLength; ToleAngle = toleAngle; try { XDocument xDocument = XDocument.Load(path); XElement root = xDocument.Root; if (root != null) { if (root.Attribute("xmlns") != null) { _xmlns = "{" + (string)root.Attribute("xmlns") + "}"; } else { _xmlns = string.Empty; } var tmp = (string)root.Attribute("version"); switch (tmp.Split('.')[0]) { case "1": _version = StbVersion.Ver1; break; case "2": _version = StbVersion.Ver2; break; default: throw new ArgumentException("The STB version is not set"); } } Init(); Load(xDocument); } catch (Exception e) { throw new ArgumentException(e.Message); } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); switch (version) { case StbVersion.Ver1: IdNodeStart.Add((int)stbElem.Attribute("idNode_bottom")); IdNodeEnd.Add((int)stbElem.Attribute("idNode_top")); break; case StbVersion.Ver2: IdNodeStart.Add((int)stbElem.Attribute("id_node_bottom")); IdNodeEnd.Add((int)stbElem.Attribute("id_node_top")); break; default: throw new ArgumentOutOfRangeException(nameof(version), version, "The STB version is not set"); } }
public void Load(XElement stbElem, StbVersion version) { switch (version) { case StbVersion.Ver1: IEnumerable <XElement> xOpens = stbElem.Elements("StbOpen"); foreach (XElement xOpen in xOpens) { if (xOpen.Attribute("id") != null) { Id.Add((int)xOpen.Attribute("id")); } else { Id.Add(0); } if (xOpen.Attribute("name") != null) { Name.Add((string)xOpen.Attribute("name")); } else { Name.Add(string.Empty); } IdSection.Add((int)xOpen.Attribute("id_section")); PositionX.Add((double)xOpen.Attribute("position_X")); PositionY.Add((double)xOpen.Attribute("position_Y")); LengthX.Add((double)xOpen.Attribute("length_X")); LengthY.Add((double)xOpen.Attribute("length_Y")); Rotate.Add((double)xOpen.Attribute("rotate")); } break; case StbVersion.Ver2: break; default: throw new ArgumentOutOfRangeException(nameof(version), version, "The STB version is not set"); } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); switch (version) { case StbVersion.Ver1: DBarMain.Add((string)stbElem.Attribute("D_reinforcement_main")); DBarBand.Add((string)stbElem.Attribute("D_reinforcement_band")); break; case StbVersion.Ver2: break; default: throw new ArgumentOutOfRangeException(nameof(version), version, null); } var stbColSecBarArrangement = new StbColSecBarArrangement(); stbColSecBarArrangement.Load(stbElem, version, xmlns); BarList.Add(stbColSecBarArrangement.BarList); }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); Id.Add((int)stbElem.Attribute("id")); IdSection.Add((int)stbElem.Attribute("id_section")); switch ((string)stbElem.Attribute("kind_structure")) { case "RC": KindStructure.Add(KindsStructure.Rc); break; case "S": KindStructure.Add(KindsStructure.S); break; case "SRC": KindStructure.Add(KindsStructure.Src); break; case "CFT": KindStructure.Add(KindsStructure.Cft); break; default: KindStructure.Add(KindsStructure.Other); break; } }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); Id.Add((int)stbElem.Attribute("id")); }
protected virtual void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { Name.Add((string)stbElem.Attribute("name")); }
protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns) { base.ElementLoader(stbElem, version, xmlns); // 必須コード double posX, posY, posZ; switch (version) { case StbVersion.Ver1: posX = (double)stbElem.Attribute("x"); posY = (double)stbElem.Attribute("y"); posZ = (double)stbElem.Attribute("z"); break; case StbVersion.Ver2: posX = (double)stbElem.Attribute("X"); posY = (double)stbElem.Attribute("Y"); posZ = (double)stbElem.Attribute("Z"); break; default: throw new ArgumentOutOfRangeException(nameof(version), version, null); } X.Add(posX); Y.Add(posY); Z.Add(posZ); Position.Add(new Point3(posX, posY, posZ)); // 必須ではないコード if (stbElem.Attribute("id_member") != null) { IdMember.Add((int)stbElem.Attribute("id_member")); } else { IdMember.Add(-1); } // ver2 から必須 switch ((string)stbElem.Attribute("kind")) { case "ON_GIRDER": Kind.Add(KindsNode.OnGirder); break; case "ON_BEAM": Kind.Add(KindsNode.OnBeam); break; case "ON_COLUMN": Kind.Add(KindsNode.OnColumn); break; case "ON_POST": Kind.Add(KindsNode.OnPost); break; case "ON_GRID": Kind.Add(KindsNode.OnGrid); break; case "ON_CANTI": Kind.Add(KindsNode.OnCanti); break; case "ON_SLAB": Kind.Add(KindsNode.OnSlab); break; default: Kind.Add(KindsNode.Other); break; } }