From e0cb6bd23b21f126bde42f74f4b1a798c3e15b0f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 7 Jan 2010 07:03:58 +0100 Subject: Major cleanup Much better now! --- src/Data/Triangle.cpp | 48 +++++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 29 deletions(-) (limited to 'src/Data/Triangle.cpp') diff --git a/src/Data/Triangle.cpp b/src/Data/Triangle.cpp index b3f76a7..51a4947 100644 --- a/src/Data/Triangle.cpp +++ b/src/Data/Triangle.cpp @@ -18,28 +18,18 @@ */ #include "Triangle.h" -#include #include +#include namespace ZoomEdit { namespace Data { -Vertex Triangle::loadVertex(xmlpp::Element *node) const { - Vertex v; +vmml::vec3f Triangle::loadVector(xmlpp::Element *node) const { + vmml::vec3f v; - v.setX(std::atof(node->get_attribute_value("x").c_str())); - v.setY(std::atof(node->get_attribute_value("y").c_str())); - v.setZ(std::atof(node->get_attribute_value("z").c_str())); - - return v; -} - -Vector Triangle::loadVector(xmlpp::Element *node) const { - Vector v; - - v.setX(std::atof(node->get_attribute_value("x").c_str())); - v.setY(std::atof(node->get_attribute_value("y").c_str())); - v.setZ(std::atof(node->get_attribute_value("z").c_str())); + v.x() = std::atof(node->get_attribute_value("x").c_str()); + v.y() = std::atof(node->get_attribute_value("y").c_str()); + v.z() = std::atof(node->get_attribute_value("z").c_str()); return v; } @@ -99,7 +89,7 @@ Triangle::Triangle(xmlpp::Element *node) : triangleNode(node) { if(e->get_name() == "vertex") { vertexNodes[++i] = e; - vertices[i] = loadVertex(e); + vertices[i] = loadVector(e); normalNodes[i] = 0; texCoordsNodes[i] = 0; @@ -110,23 +100,23 @@ Triangle::Triangle(xmlpp::Element *node) : triangleNode(node) { texture = node->get_attribute_value("texture"); } -void Triangle::setVertex(unsigned int i, const Vertex &v) { +void Triangle::setVertex(unsigned int i, const vmml::vec3f &v) { vertices[i] = v; - vertexNodes[i]->set_attribute("x", Glib::ustring::format(v.getX())); - vertexNodes[i]->set_attribute("y", Glib::ustring::format(v.getY())); - vertexNodes[i]->set_attribute("z", Glib::ustring::format(v.getZ())); + vertexNodes[i]->set_attribute("x", Glib::ustring::format(v.x())); + vertexNodes[i]->set_attribute("y", Glib::ustring::format(v.y())); + vertexNodes[i]->set_attribute("z", Glib::ustring::format(v.z())); } -void Triangle::setNormal(unsigned int i, const Vector &n) { +void Triangle::setNormal(unsigned int i, const vmml::vec3f &n) { normals[i] = n; if(!normalNodes[i]) - normalNodes[i] = Util::Xml::addSibling(static_cast(vertexNodes[i]), "normal"); - - normalNodes[i]->set_attribute("x", Glib::ustring::format(n.getX())); - normalNodes[i]->set_attribute("y", Glib::ustring::format(n.getY())); - normalNodes[i]->set_attribute("z", Glib::ustring::format(n.getZ())); + normalNodes[i] = triangleNode->add_child(vertexNodes[i], "normal"); + + normalNodes[i]->set_attribute("x", Glib::ustring::format(n.x())); + normalNodes[i]->set_attribute("y", Glib::ustring::format(n.y())); + normalNodes[i]->set_attribute("z", Glib::ustring::format(n.z())); } void Triangle::setTexCoords(unsigned int i, const TexCoords &t) { @@ -134,9 +124,9 @@ void Triangle::setTexCoords(unsigned int i, const TexCoords &t) { if(!texCoordsNodes[i]) { if(normalNodes[i]) - texCoordsNodes[i] = Util::Xml::addSibling(static_cast(normalNodes[i]), "texcoords"); + texCoordsNodes[i] = triangleNode->add_child(normalNodes[i], "texcoords"); else - texCoordsNodes[i] = Util::Xml::addSibling(static_cast(vertexNodes[i]), "texcoords"); + texCoordsNodes[i] = triangleNode->add_child(vertexNodes[i], "texcoords"); } texCoordsNodes[i]->set_attribute("s", Glib::ustring::format(t.getS())); -- cgit v1.2.3