00001 #ifndef PATCHCACHELINE_H 00002 #define PATCHCACHELINE_H 00003 00011 #include "Triangle.h" 00012 00013 #include <vector> 00014 00015 class PatchRandomAccessEnumerator; 00016 00021 class PatchCacheLine { 00022 public: 00027 PatchCacheLine(PatchRandomAccessEnumerator *patchEnumerator, float ffTreshold); 00028 00035 void addPatch(int srcPatch, float formFactor); 00036 00041 Color totalRadiosity(); 00042 00046 size_t itemCount(); 00047 00051 static size_t itemSize() { 00052 return sizeof(TCacheItem); 00053 } 00054 00055 private: 00056 PatchRandomAccessEnumerator *patchEnumerator_; 00057 float ffTreshold_; 00058 typedef std::pair<Color *, float> TCacheItem; 00059 typedef std::vector<TCacheItem> TContainer; 00060 TContainer container_; 00061 }; 00062 00063 #endif // PATCHCACHELINE_H
1.5.2