25 #ifndef __I6ENGINE_MODULES_TERRAIN_H__
26 #define __I6ENGINE_MODULES_TERRAIN_H__
38 class TerrainGlobalOptions;
44 class GraphicsManager;
60 Terrain(
GraphicsManager * manager,
const std::string & heightmap,
const double size,
double inputScale, uint16_t vertices,
const std::vector<std::tuple<double, std::string, std::string, double, double>> & layers, int64_t minX, int64_t minY, int64_t maxX, int64_t maxY);
68 Terrain(
GraphicsManager * manager,
const std::vector<std::vector<double>> & heightdata,
const double size,
double inputScale, uint16_t vertices,
const std::vector<std::tuple<double, std::string, std::string, double, double>> & layers, int64_t minX, int64_t minY, int64_t maxX, int64_t maxY);
79 void defineTerrainHeightmap(
const int64_t x,
const int64_t y);
84 void defineTerrainHeightdata(
const int64_t x,
const int64_t y);
90 void configureTerrainDefaults();
96 void getTerrainImage(
const bool flipX,
const bool flipY, Ogre::Image & img);
98 void initBlendMaps(Ogre::Terrain * terrain);
115 void setHeightAtPosition(uint64_t x, uint64_t z,
double height);
120 void saveCollisionShape(
const std::string & outFile);
137 Ogre::TerrainGroup * _mTerrainGroup;
142 Ogre::TerrainGlobalOptions * _mTerrainGlobals;
147 bool _mTerrainsImported;
152 std::string _heightmap;
157 std::vector<std::vector<double>> _heightdata;
168 std::vector<std::tuple<double, std::string, std::string, double, double>> _layers;
#define ISIXE_MODULES_API
#define ASSERT_THREAD_SAFETY_HEADER
Ogre::TerrainGroup * getTerrainGroup() const
Returns a pointer to the TerrainGroup of the graphics library Returns a pointer to the TerrainGroup o...
Saves all Terrain-specific things.
Ogre::TerrainGlobalOptions * getTerrainGlobalOptions() const
Returns a pointer to the TerrainGlobalsOptions of the graphics library Returns a pointer to the Terra...