Example #1
0
        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");
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
        }
Example #5
0
 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);
     }
 }
Example #6
0
        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);
            }
        }
Example #7
0
        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);
            }
        }
Example #8
0
        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);
            }
        }
Example #9
0
        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);
            }
        }
Example #10
0
        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);
            }
        }
Example #11
0
        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");
            }
        }
Example #12
0
        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");
            }
        }
Example #13
0
        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);
        }
Example #14
0
        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;
            }
        }
Example #15
0
 protected override void ElementLoader(XElement stbElem, StbVersion version, string xmlns)
 {
     base.ElementLoader(stbElem, version, xmlns);
     Id.Add((int)stbElem.Attribute("id"));
 }
Example #16
0
 protected virtual void ElementLoader(XElement stbElem, StbVersion version, string xmlns)
 {
     Name.Add((string)stbElem.Attribute("name"));
 }
Example #17
0
        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;
            }
        }