namespace blank {
class BlockType;
+class Entity;
class WorldCollision;
/// cube of size 16 (256 tiles, 4096 blocks)
static constexpr int size = side * side * side;
static AABB Bounds() noexcept { return AABB{ { 0.0f, 0.0f, 0.0f }, ExactLocation::FExtent() }; }
+ static glm::vec3 Center() noexcept { return glm::vec3(8.0f); }
+ static float Radius() noexcept { return 27.71281292110203669632f; /* 16 * √3 */ }
static constexpr bool InBounds(const ExactLocation::Fine &pos) noexcept {
return
const glm::mat4 &Mchunk,
std::vector<WorldCollision> &) noexcept;
+ bool Intersection(
+ const Entity &entity,
+ const glm::mat4 &Mentity,
+ const glm::mat4 &Mchunk,
+ std::vector<WorldCollision> &) noexcept;
+
void Position(const ExactLocation::Coarse &pos) noexcept { position = pos; }
const ExactLocation::Coarse &Position() const noexcept { return position; }
glm::mat4 Transform(const ExactLocation::Coarse &offset) const noexcept {