00001 #ifndef TRIANGLESETEXT_H 00002 #define TRIANGLESETEXT_H 00003 00011 #include "Triangle.h" 00012 00013 #include <vector> 00014 00018 struct TriangleExt: Triangle { 00019 Color vertexColor[3]; 00020 Color vertexColorRaw[3]; 00021 00026 TriangleExt(const Triangle &t): 00027 Triangle(t) 00028 { 00029 for(int i=0; i<3; i++) 00030 vertexColorRaw[i] = vertexColor[i] = t.radiosity; 00031 } 00032 }; 00033 00037 class TriangleSetExt { 00038 public: 00042 void add (TriangleExt* triangle); 00043 00047 void add (TriangleSetExt* tset); 00048 00052 size_t count ( ); 00053 00057 TriangleExt& operator[] (unsigned index); 00058 00059 private: 00060 typedef std::vector<TriangleExt> TContainer; 00061 TContainer container_; 00062 00063 }; 00064 00065 #endif // TRIANGLESETEXT_H
1.5.2