summaryrefslogtreecommitdiffstats
path: root/src/Data/Triangle.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Triangle.h')
-rw-r--r--src/Data/Triangle.h29
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");
+ }
};
}