00001 #ifndef TERRAIN_H_ 00002 #define TERRAIN_H_ 00003 00004 #include "BrushConstructor.h" 00005 00006 namespace brushconstruct 00007 { 00008 class Terrain: public BrushConstructor 00009 { 00010 private: 00011 static const std::size_t _sides = 6; 00012 00013 public: 00014 void generate (Brush& brush, const AABB& bounds, std::size_t sides, const TextureProjection& projection, 00015 const std::string& shader); 00016 00017 const std::string getName () const; 00018 00019 static BrushConstructor& getInstance () 00020 { 00021 static Terrain _rock; 00022 return _rock; 00023 } 00024 }; 00025 } 00026 #endif /* TERRAIN_H_ */