#ifndef LLMR_MAP_TILE #define LLMR_MAP_TILE #include #include #include #include #include namespace llmr { class TileData; class Tile : private util::noncopyable { public: typedef vec3 ID; public: Tile(const ID& id); static ID parent(const ID& id, int32_t z); static ID normalize(const ID& id); static std::forward_list children(const ID& id, int32_t z); public: const Tile::ID id; uint8_t clip_id; mat4 matrix; std::shared_ptr data; }; } #endif