00001 #ifndef _RR_TERRAINGENERATOR_H_
00002 #define _RR_TERRAINGENERATOR_H_
00003
00004 #include <vector>
00005
00006 #include <vrs/sharedobj.h>
00007 #include <vrs/vector.h>
00008
00009
00010 namespace random_racer
00011 {
00012
00013 class ControlPointContainer;
00014 class Nurbs;
00015
00021 class TerrainGenerator : public VRS::SharedObj
00022 {
00026 VRS::SO<ControlPointContainer> m_container;
00027
00031 double m_size;
00032
00036 double m_spacing;
00037
00041 VRS::SO<Nurbs> m_nurbs;
00042
00046 unsigned int m_lod;
00047
00048 public:
00052 TerrainGenerator(
00053 VRS::SO<ControlPointContainer> container,
00054 double size,
00055 double spacing,
00056 unsigned int levelOfDetail);
00057
00061 virtual ~TerrainGenerator();
00062
00067 void generate(double x, double y, std::vector<VRS::Vector>* target);
00068 };
00069
00070 }
00071
00072
00073 #endif // _RR_TERRAINGENERATOR_H_