コード例 #1
0
ファイル: Util.cs プロジェクト: pedropva/ergonomics
        public void addPosition(long timestamp, Owas owas)
        {
            if (owas != null)
            {
                writer.WriteStartElement("Frame");
                writer.WriteAttributeString(null, "timestamp", null, timestamp + "");

                writer.WriteElementString("Spine", (int)((CostaPosicao)Enum.Parse(typeof(CostaPosicao), owas.BackPosition + "")) + "");
                writer.WriteElementString("Arms", (int)((BracosPosicao)Enum.Parse(typeof(BracosPosicao), owas.ArmsPosition + "")) + "");
                writer.WriteElementString("Legs", (int)((PernasPosicao)Enum.Parse(typeof(PernasPosicao), owas.LegsPosition + "")) + "");

                writer.WriteElementString("Weight", (int)((Weigth)Enum.Parse(typeof(Weigth), owas._Weight + "")) + "");

                writer.WriteEndElement();
            }
        }
コード例 #2
0
ファイル: UtilReader.cs プロジェクト: pedropva/ergonomics
        public Owas findOwasPosition(String timestamp)
        {
            Owas     owas = new Owas();
            XElement root = XElement.Load(this.FileName);
            IEnumerable <XElement> frame =
                from el in root.Elements("Frame")
                where (string)el.Attribute("timestamp") == timestamp
                select el;

            foreach (XElement el in frame)
            {
                owas.BackPosition = (CostaPosicao)Enum.Parse(typeof(CostaPosicao), el.Attribute("spine").Value.ToString());
                owas.ArmsPosition = (BracosPosicao)Enum.Parse(typeof(BracosPosicao), el.Attribute("arms").Value.ToString());
                owas.LegsPosition = (PernasPosicao)Enum.Parse(typeof(PernasPosicao), el.Attribute("legs").Value.ToString());
            }
            return(owas);
        }
コード例 #3
0
ファイル: UtilReader.cs プロジェクト: pedropva/ergonomics
        public void Relatorio(String relatorioName)
        {
            String fileName = this.FileName;

            XElement root = XElement.Load(fileName);
            IEnumerable <XElement> frame =
                from el in root.Elements("Frame")
                select el;

            int[] arms  = new int[4];
            int[] spine = new int[5];
            int[] legs  = new int[6];
            for (int i = 0; i < arms.Length; i++)
            {
                arms[i]  = 0;
                spine[i] = 0;
                legs[i]  = 0;
            }
            int index, kindex, jindex;
            int totalFrames = 0;

            // DDebug db = new DDebug(); db.Show();
            foreach (XElement el in frame)
            {
                index  = (int)((BracosPosicao)Enum.Parse(typeof(BracosPosicao), el.Attribute("arms").Value.ToString()));
                kindex = (int)((CostaPosicao)Enum.Parse(typeof(CostaPosicao), el.Attribute("spine").Value.ToString()));
                jindex = (int)((PernasPosicao)Enum.Parse(typeof(PernasPosicao), el.Attribute("legs").Value.ToString()));

                arms[index]   += 1;
                spine[kindex] += 1;
                legs[jindex]  += 1;
                totalFrames++;
            }

            XmlWriter writer = XmlWriter.Create(relatorioName);

            writer.WriteStartDocument();
            writer.WriteStartElement("classOwas");
            double       percent = 0.0;
            CostaPosicao costaP  = CostaPosicao.Desconhecida;

            for (int i = 1; i < spine.Length; i++)
            {
                percent = ((double)spine[i] / (double)totalFrames * 100);
                writer.WriteStartElement("member");
                writer.WriteAttributeString(null, "name", null, "spine");
                switch (i)
                {
                case 1: costaP = CostaPosicao.Ereta; break;

                case 2: costaP = CostaPosicao.Inclinada; break;

                case 3: costaP = CostaPosicao.EretaETorcida; break;

                case 4: costaP = CostaPosicao.InclinadaETorcida; break;
                }
                writer.WriteAttributeString(null, "position", null, costaP + "");
                writer.WriteAttributeString(null, "percent", null, percent + "");
                writer.WriteAttributeString(null, "risk", null, Owas.riskSpine(costaP, percent) + "");
                writer.WriteEndElement();
            }

            BracosPosicao bracosP = BracosPosicao.Desconhecida;

            for (int i = 1; i < arms.Length; i++)
            {
                switch (i)
                {
                case 1: bracosP = BracosPosicao.BothArmsareDown; break;

                case 2: bracosP = BracosPosicao.OneHandUp; break;

                case 3: bracosP = BracosPosicao.TwoHandUp; break;
                }
                percent = ((double)arms[i] / (double)totalFrames * 100);
                writer.WriteStartElement("member");
                writer.WriteAttributeString(null, "name", null, "arms");

                writer.WriteAttributeString(null, "position", null, bracosP + "");
                writer.WriteAttributeString(null, "percent", null, percent + "");
                writer.WriteAttributeString(null, "risk", null, Owas.riskArms(bracosP, percent) + "");
                writer.WriteEndElement();
            }

            PernasPosicao pernasP = PernasPosicao.Desconhecida;

            for (int i = 0; i < legs.Length; i++)
            {
                switch (i)
                {
                case 1: pernasP = PernasPosicao.twoLegUp; break;

                case 2: pernasP = PernasPosicao.OneLegUp; break;

                case 3: pernasP = PernasPosicao.twoLegFlex; break;

                case 4: pernasP = PernasPosicao.OneLegFlex; break;

                case 5: pernasP = PernasPosicao.OneLegknee; break;
                }
                percent = ((double)legs[i] / (double)totalFrames * 100);
                writer.WriteStartElement("member");
                writer.WriteAttributeString(null, "name", null, "legs");

                writer.WriteAttributeString(null, "position", null, pernasP + "");
                writer.WriteAttributeString(null, "percent", null, percent + "");
                writer.WriteAttributeString(null, "risk", null, Owas.riskLegs(pernasP, percent) + "");
                writer.WriteEndElement();
            }
            writer.WriteEndElement();
            writer.WriteEndDocument();
            writer.Flush();
            writer.Close();
        }