Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/trianglelist.cc')
-rw-r--r--src/model/trianglelist.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/model/trianglelist.cc b/src/model/trianglelist.cc
new file mode 100644
index 0000000..1b3cea2
--- /dev/null
+++ b/src/model/trianglelist.cc
@@ -0,0 +1,43 @@
+/*
+ model/trianglelist.cc
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#include "model/trianglelist.h"
+
+namespace model {
+
+TriangleList::TriangleList()
+{
+}
+
+TriangleList::~TriangleList()
+{
+ clear();
+}
+
+void TriangleList::clear()
+{
+ for (TriangleList::iterator it = trianglelist_triangles.begin(); it != trianglelist_triangles.end(); it++) {
+ delete (*it);
+ }
+
+ trianglelist_triangles.clear();
+}
+
+Triangle *TriangleList::add(const math::Vector3f &v0, const math::Vector3f &v1, const math::Vector3f &v2)
+{
+ Triangle *new_triangle = new Triangle(v0, v1, v2);
+ trianglelist_triangles.push_back(new_triangle);
+ return new_triangle;
+}
+
+Triangle *TriangleList::add(Triangle &triangle)
+{
+ Triangle *new_triangle = new Triangle(triangle.v0(), triangle.v1(), triangle.v2());
+ trianglelist_triangles.push_back(new_triangle);
+ return new_triangle;
+}
+
+} // namespace model