00001 #ifndef TERRAIN_H
00002 #define TERRAIN_H
00003
00004 #include "irrlicht.h"
00005
00007
00010 class Terrain
00011 {
00012 public:
00013
00023 Terrain(irr::IrrlichtDevice* d,
00024 irr::core::stringc FileName,
00025 irr::core::stringc textureFileName_1,
00026 irr::core::stringc textureFileName_2);
00027
00029 ~Terrain();
00030
00032 irr::core::vector3df getCenter(void);
00033
00037 irr::scene::ITriangleSelector* getCollisionTriangles(void);
00038
00039 protected:
00040
00041 private:
00042
00043 enum buildFromFileType
00044 {
00045 FILE_TYPE_BMP = 0,
00046 FILE_TYPE_3DS = 1
00047 };
00048
00049 void loadFromHeightmap(irr::core::stringc heightMapFileName,
00050 irr::core::stringc textureFileName_1,
00051 irr::core::stringc textureFileName_2);
00052 void loadFrom3ds(irr::core::stringc FileName3ds,
00053 irr::core::stringc textureFileName_1,
00054 irr::core::stringc textureFileName_2);
00055 bool stringHasExtension(irr::core::stringc s,
00056 irr::core::stringc extension);
00057 void loadSkyBox(void);
00058
00059 irr::IrrlichtDevice* device;
00060 irr::scene::ITerrainSceneNode* terrain;
00061 irr::scene:: ITriangleSelector* collisionTriangles;
00062 buildFromFileType fileType;
00063 };
00064 #endif // TERRAIN_H