// Ravines.h // Interfaces to the cStructGenRavines class representing the ravine structure generator #pragma once #include "ComposableGenerator.h" #include "../Noise.h" class cStructGenRavines : public cStructureGen { public: cStructGenRavines(int a_Seed, int a_Size); ~cStructGenRavines(); protected: class cRavine; // fwd: Ravines.cpp typedef std::list cRavines; cNoise m_Noise; int m_Size; // Max size, in blocks, of the ravines generated cRavines m_Cache; /// Clears everything from the cache void ClearCache(void); /// Returns all ravines that *may* intersect the given chunk. All the ravines are valid until the next call to this function. void GetRavinesForChunk(int a_ChunkX, int a_ChunkZ, cRavines & a_Ravines); // cStructureGen override: virtual void GenStructures(cChunkDesc & a_ChunkDesc) override; } ;