Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

Mesh.h

Go to the documentation of this file.
00001 
00002 #ifndef __MESH_H
00003 #define __MESH_H
00004 
00005 #include <ostream>
00006 #include <vector>
00007 
00008 #include "MS3D.h"
00009 
00010 #include "Vector.h"
00011 
00012 #include "Material.h"
00013 
00014 #include "Triangle.h"
00015 
00016 class Model;
00017 
00030 class Mesh {
00031 private:
00033     int m_materialIndex;
00035     std::vector<const Triangle*> m_triangles;
00036 
00038     const Model& m_model;
00039     
00040 private:
00042     Mesh(const Mesh& copy);
00044     Mesh& operator=(const Mesh& rhs);
00045 
00046 public:
00048     Mesh(const Model& model);
00049 
00057     const char* initialize(const char* ptr);
00058 
00060     const Model& getModel() const;
00061 
00063     bool hasMaterial() const;
00065     const Material& getMaterial() const;
00067     const std::vector<const Triangle*>& getTriangles() const;
00069         void addTriangle(const Triangle* triangle);
00070 
00075     friend std::ostream& operator<< (std::ostream& out, const Mesh& mesh);
00076 };
00077 
00078 #endif // __MESH_H

Generated on Mon Aug 25 23:40:57 2003 for Shadow by doxygen 1.3.2