void ObjectLoader::serializeTransformationsToNode(Mesh* mesh, XmlTreeNode* parentNode){ XmlTreeNode* transformationNode = new XmlTreeNode("Transformations", parentNode); parentNode->addChild(transformationNode); // Las propiedades hijas Transformation* transformation = mesh->getTransformation(); serializeToNode("Translation", transformation->getPosition(), transformationNode); serializeToNode("Rotation", transformation->getRotation(), transformationNode); serializeToNode("Scale", transformation->getScale(), transformationNode); }
void XMLSerializer::write(const Transformation &_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.getPosition(),root,"position"); write(_s.getRotation(),root,"rotation"); write(_s.getScale(),root,"scale"); }