public static PostureInformation[] getPostureList() { String[] nombresficheros = System.IO.Directory.GetFiles("./postures/"); int a = 0; foreach (String n in nombresficheros) { if (n.Contains(".xml")) { a++; } } PostureInformation[] allPostures = new PostureInformation[a]; a = 0; foreach (String n in nombresficheros) { if (n.Contains(".xml")) { allPostures[a] = loadPosture(n.Replace(".xml", "")); a++; } } return(allPostures); }
public static PostureInformation loadPosture(String name) { Vector3[] joints = new Vector3[20]; int index = 0; XmlDocument xDoc = new XmlDocument(); //xDoc.Load("../../../../personas1.xml"); xDoc.Load(name + ".xml"); XmlNodeList postura = xDoc.GetElementsByTagName("Posture"); XmlAttribute nam = ((XmlElement)postura[0]).GetAttributeNode("name"); XmlAttribute des = ((XmlElement)postura[0]).GetAttributeNode("description"); XmlAttribute dif = ((XmlElement)postura[0]).GetAttributeNode("difficulty"); XmlNodeList listaJoints = ((XmlElement)postura[0]).GetElementsByTagName("joint"); foreach (XmlElement nodo in listaJoints) { XmlAttribute a = nodo.GetAttributeNode("x"); XmlAttribute b = nodo.GetAttributeNode("y"); XmlAttribute c = nodo.GetAttributeNode("z"); joints[index] = new Vector3(float.Parse(a.Value), float.Parse(b.Value), float.Parse(c.Value)); index++; } PostureInformation postureI = new PostureInformation(nam.Value, des.Value, System.Convert.ToInt16(dif.Value), joints); return(postureI); }
public static Boolean storePosture(PostureInformation p) { try { //XmlDocument originalXml = new XmlDocument(); //originalXml.CreateXmlDeclaration("1.0", "utf-8", null); XmlDocument xmlDoc = new XmlDocument(); // Write down the XML declaration XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); // Create the root element XmlElement rootNode = xmlDoc.CreateElement("Posture"); XmlAttribute _Name = xmlDoc.CreateAttribute("name"); _Name.Value = p.name; XmlAttribute _Des = xmlDoc.CreateAttribute("description"); _Des.Value = p.description; XmlAttribute _Dif = xmlDoc.CreateAttribute("difficulty"); _Dif.Value = System.Convert.ToString(p.difficulty); rootNode.Attributes.Append(_Name); rootNode.Attributes.Append(_Des); rootNode.Attributes.Append(_Dif); xmlDoc.InsertBefore(xmlDeclaration, xmlDoc.DocumentElement); xmlDoc.AppendChild(rootNode); int index = 0; foreach (Vector3 v in p.joints) { XmlNode newSub = xmlDoc.CreateNode(XmlNodeType.Element, "joint", null); XmlAttribute _X = xmlDoc.CreateAttribute("x"); _X.Value = System.Convert.ToString(v.X); XmlAttribute _Y = xmlDoc.CreateAttribute("y"); _Y.Value = System.Convert.ToString(v.Y); XmlAttribute _Z = xmlDoc.CreateAttribute("z"); _Z.Value = System.Convert.ToString(v.Z); //los agregamos newSub.Attributes.Append(_X); newSub.Attributes.Append(_Y); newSub.Attributes.Append(_Z); rootNode.AppendChild(newSub); index++; } //grabamos xmlDoc.Save("./postures/" + p.name + ".xml"); return(true); } catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); return(false); } }
public static Boolean storePosture(PostureInformation p) { SqliteConnector conn = new SqliteConnector(); if (conn.postureGetId(p.name) != "") { conn.CloseConnection(); return(false); } conn.insert("INSERT INTO POSTURE (NAME,DESCRIPTION,DIFFICULTY) VALUES ('" + p.name + "','" + p.description + "'," + System.Convert.ToString(p.difficulty) + ")"); string postid = conn.postureGetId(p.name); int index = 0; foreach (Vector3 v in p.joints) { conn.insert("INSERT INTO JOINT (ID_POSTURE,JOINT_ORDER,X,Y,Z) VALUES (" + postid + "," + index + "," + v.X.ToString().Replace(",", ".") + "," + v.Y.ToString().Replace(",", ".") + "," + v.Z.ToString().Replace(",", ".") + ")"); index++; } conn.CloseConnection(); return(true); }
public static PostureInformation loadPosture(String name) { Vector3[] joints = new Vector3[20]; int index = 0; SqliteConnector conn = new SqliteConnector(); string postid = conn.postureGetId(name); if (postid == "") { conn.CloseConnection(); return(null); } Tuple <string, string, string> tPost = conn.postureGetData(name); if (tPost == null) { conn.CloseConnection(); return(null); } List <Tuple <string, string, string, string> > tJoint = conn.postureGetJoints(postid); if (tJoint.Count != 20) { conn.CloseConnection(); return(null); } foreach (Tuple <string, string, string, string> joint in tJoint) { joints[System.Convert.ToInt16(joint.Item1)] = new Vector3(float.Parse(joint.Item2), float.Parse(joint.Item3), float.Parse(joint.Item4)); index++; } PostureInformation postureI = new PostureInformation(tPost.Item1, tPost.Item2, System.Convert.ToInt16(tPost.Item3), joints); conn.CloseConnection(); return(postureI); }