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.h')
-rw-r--r--src/model/trianglelist.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/model/trianglelist.h b/src/model/trianglelist.h
new file mode 100644
index 0000000..5746fae
--- /dev/null
+++ b/src/model/trianglelist.h
@@ -0,0 +1,46 @@
+/*
+ model/trianglelist.h
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_MODEL_TRIANGLELIST_H__
+#define __INCLUDED_MODEL_TRIANGLELIST_H__
+
+#include <list>
+
+#include "model/triangle.h"
+
+namespace model
+{
+
+class TriangleList {
+public:
+ typedef std::list<Triangle *> Triangles;
+
+ typedef Triangles::iterator iterator;
+ typedef Triangles::const_iterator const_iterator;
+
+ TriangleList();
+ ~TriangleList();
+
+ void clear();
+
+ Triangle *add(const math::Vector3f &v0, const math::Vector3f &v1, const math::Vector3f &v2);
+
+ Triangle *add(Triangle &triangle);
+
+ inline const size_t size() const { return trianglelist_triangles.size(); }
+
+ inline iterator begin() { return trianglelist_triangles.begin(); }
+
+ inline iterator end() { return trianglelist_triangles.end(); }
+
+private:
+ Triangles trianglelist_triangles;
+
+};
+
+} // namespace model
+
+#endif // __INCLUDED_MODEL_TRIANGLELIST_H__