X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2FEntity.hpp;h=b3eb1f4360e57c5f95fd14039cd4669eacd33ee8;hb=7354c74fb8f409336db3a6d70455fbc10232ae64;hp=2a4ef89093ff848556841669839c95965f7614e3;hpb=4727825186798902f68df5b99a6a32f0ef618454;p=blank.git diff --git a/src/world/Entity.hpp b/src/world/Entity.hpp index 2a4ef89..b3eb1f4 100644 --- a/src/world/Entity.hpp +++ b/src/world/Entity.hpp @@ -49,7 +49,9 @@ public: void Name(const std::string &n) { name = n; } const AABB &Bounds() const noexcept { return bounds; } - void Bounds(const AABB &b) noexcept { bounds = b; } + // get distance between local origin and farthest vertex + float Radius() const noexcept { return radius; } + void Bounds(const AABB &b) noexcept { bounds = b; radius = b.OriginRadius(); } bool WorldCollidable() const noexcept { return world_collision; } void WorldCollidable(bool b) noexcept { world_collision = b; } @@ -77,6 +79,7 @@ public: } /// orientation of local coordinate system + void Orientation(const glm::quat &o) noexcept { state.orient = o; } const glm::quat &Orientation() const noexcept { return state.orient; } /// orientation of head within local coordinate system, in radians @@ -135,6 +138,7 @@ private: std::string name; AABB bounds; + float radius; EntityState state; /// chunk to model space