diff options
Diffstat (limited to 'src/Data/Triangle.h')
-rw-r--r-- | src/Data/Triangle.h | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/Data/Triangle.h b/src/Data/Triangle.h index f668289..3a235ce 100644 --- a/src/Data/Triangle.h +++ b/src/Data/Triangle.h @@ -50,25 +50,34 @@ class Triangle { Triangle(xmlpp::Element *node); const Vertex& getVertex(unsigned int i) const {return vertices[i%3];} - void setVertex(unsigned int i, Vertex v) {vertices[i%3] = v;} - void setVertices(Vertex v[3]) { - vertices[0] = v[0]; vertices[1] = v[1]; vertices[2] = v[2]; + void setVertex(unsigned int i, const Vertex &v); + + void setVertices(Vertex *v) { + for(int i = 0; i < 3; ++i) + setVertex(i, v[i]); } const Vector& getNormal(unsigned int i) const {return normals[i%3];} - void setNormal(unsigned int i, Vector n) {normals[i%3] = n;} - void setNormals(Vector n[3]) { - normals[0] = n[0]; normals[1] = n[1]; normals[2] = n[2]; + void setNormal(unsigned int i, const Vector &n); + + void setNormals(Vector *n) { + for(int i = 0; i < 3; ++i) + setNormal(i, n[i]); } const TexCoords& getTexCoords(unsigned int i) const {return texCoords[i%3];} - void getTexCoords(unsigned int i, TexCoords t) {texCoords[i%3] = t;} - void getTexCoords(TexCoords t[3]) { - texCoords[0] = t[0]; texCoords[1] = t[1]; texCoords[2] = t[2]; + void setTexCoords(unsigned int i, const TexCoords &t); + + void setTexCoords(TexCoords *t) { + for(int i = 0; i < 3; ++i) + setTexCoords(i, t[i]); } bool isVisible() const {return visible;} - void setVisible(bool vis) {visible = vis;} + void setVisible(bool vis) { + visible = vis; + triangleNode->set_attribute("visible", vis ? "true" : "false"); + } }; } |