31 lines
876 B
C++
31 lines
876 B
C++
#pragma once
|
|
|
|
#include "../data/geometry/Faces.hpp"
|
|
#include "../world/forward.h"
|
|
|
|
namespace world {
|
|
class Chunk;
|
|
}
|
|
namespace contouring::surrounding {
|
|
const auto CENTER = 6;
|
|
typedef std::array<std::shared_ptr<const world::Chunk>, CENTER+1> faces;
|
|
|
|
bool load(faces &out, const chunk_pos &chunkPos, const world::ChunkContainer &chunks);
|
|
|
|
std::pair<ushort, ushort> getNeighborIdx(ushort idx, geometry::Face face);
|
|
|
|
typedef std::array<std::shared_ptr<const world::Chunk>, 8> corners;
|
|
const chunk_pos g_corner_offsets[8] = {
|
|
chunk_pos(0, 0, 0),
|
|
chunk_pos(0, 0, 1),
|
|
chunk_pos(0, 1, 0),
|
|
chunk_pos(0, 1, 1),
|
|
chunk_pos(1, 0, 0),
|
|
chunk_pos(1, 0, 1),
|
|
chunk_pos(1, 1, 0),
|
|
chunk_pos(1, 1, 1),
|
|
};
|
|
|
|
bool load(corners &out, const chunk_pos &chunkPos, const world::ChunkContainer &chunks);
|
|
}
|