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(); } }
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); }
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(); }