/* 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 #include "model/triangle.h" namespace model { class TriangleList { public: typedef std::list 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__