void XMLSerializer::write(const Material &_s, const std::string &_tag) { char *nodeName = m_doc.allocate_string(_tag.c_str()); // Allocate string and copy name into it rapidxml::xml_node<>* root = m_doc.allocate_node(rapidxml::node_element,nodeName); m_doc.append_node(root); write(_s.getDiffuse(),root,"diffuse"); write(_s.getSpecular(),root,"specular"); write(_s.getAmbient(),root,"ambient"); writeToXML(boost::str( boost::format(" %f") % _s.getSpecularExponent()),root,"specularExponent"); writeToXML(boost::str( boost::format(" %f") % _s.getTransparency()),root,"transparency"); writeToXML(boost::str( boost::format(" %f") % _s.getRoughness() ),root,"roughness"); }
void XMLSerializer::write(const Camera &_s,const std::string &_tag) { char *nodeName = m_doc.allocate_string(_tag.c_str()); // Allocate string and copy name into it rapidxml::xml_node<>* root = m_doc.allocate_node(rapidxml::node_element,nodeName); m_doc.append_node(root); writeToXML(boost::str( boost::format(" %f") % _s.getFOV() ),root,"fov"); writeToXML(boost::str( boost::format(" %f") % _s.getAspect() ),root,"aspect"); writeToXML(boost::str( boost::format(" %f") % _s.getNear() ),root,"near"); writeToXML(boost::str( boost::format(" %f") % _s.getFar() ),root,"far"); write(_s.getEye(),root,"eye"); write(_s.getLook(),root,"look"); write(_s.getUp(),root,"up"); }
void XMLSerializer::write( Mat3 &_s, std::string _tag) { writeToXML(boost::str( boost::format(" %f %f %f %f %f %f %f %f %f") % _s.m_openGL[0] %_s.m_openGL[1] % _s.m_openGL[2] % _s.m_openGL[3] % _s.m_openGL[4] % _s.m_openGL[5] % _s.m_openGL[6] % _s.m_openGL[7] % _s.m_openGL[8] ),_tag); }
void XMLSerializer::write( Mat4 &_s, std::string _tag) { Real *openGL= _s.openGL(); writeToXML(boost::str( boost::format(" %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f") % openGL[0] % openGL[1] % openGL[2] % openGL[3] % openGL[4] % openGL[5] % openGL[6] % openGL[7] % openGL[8] % openGL[9] % openGL[10] % openGL[11] % openGL[12] % openGL[13] % openGL[14] % openGL[15]),_tag); }
///////////////////////////////////////// //distinguist different type of message //messageType: login*username*password // or xmlMetaData*username*versionNumber*dependency$filename //////////////////////////////////// std::string comingmsgOperation(std::string msg) { std::string retmsg ; int pos = msg.find_first_of("*"); std::string msgType = msg.substr(0,pos); std::string msgLeft = msg.substr(pos+1); if(msgType == "login"){ retmsg = validationAccount(msgLeft); } if(msgType == "xmlMetaData"){ retmsg = writeToXML(msgLeft); } return retmsg; }
char* EUITIbotSim::CreateXMLText() { XMLElement* elem=new XMLElement(0,"EUITIbotSim"); writeToXML(elem); return elem->CreateXMLText(); }
void XMLSerializer::write(const Vec4 &_s, rapidxml::xml_node<> *_parent, std::string _tag) { writeToXML(boost::str( boost::format(" %f %f %f %f") % _s.m_x % _s.m_y % _s.m_z % _s.m_w),_parent,_tag); }
void XMLSerializer::write(const Vec4 &_s, std::string _tag) { writeToXML(boost::str( boost::format(" %f %f %f %f") % _s.m_x % _s.m_y % _s.m_z % _s.m_w),_tag); }
void XMLSerializer::write(const Quaternion &_s, const std::string &_tag) { writeToXML(boost::str( boost::format(" %f %f %f %f") % _s.getS() % _s.getX() % _s.getY() % _s.getZ() ),_tag); }
void XMLSerializer::write(const Colour &_s,rapidxml::xml_node<> *_parent, std::string _tag) { writeToXML(boost::str( boost::format(" %f %f %f %f") % _s.m_r % _s.m_g % _s.m_b % _s.m_a ),_parent,_tag); }
void XMLSerializer::write(const Colour &_s,std::string _tag) { writeToXML(boost::str( boost::format(" %f %f %f %f") % _s.m_r % _s.m_g % _s.m_b % _s.m_a ),_tag); }