]> git.localhorst.tv Git - blank.git/blobdiff - src/entity.hpp
minor optimizations in chunk
[blank.git] / src / entity.hpp
index 423cb88d3a18bb5877b50d5d18e518b4089bc7c9..20c7630ce75c99a81e3bb4faf79a93fa93145267 100644 (file)
@@ -3,9 +3,7 @@
 
 #include "block.hpp"
 #include "chunk.hpp"
-#include "geometry.hpp"
 #include "model.hpp"
-#include "shape.hpp"
 
 #include <glm/glm.hpp>
 #include <glm/gtc/quaternion.hpp>
 
 namespace blank {
 
+class Ray;
 class Shape;
 
 class Entity {
 
 public:
-       Entity();
+       Entity() noexcept;
 
-       bool HasShape() const { return shape; }
-       const Shape *GetShape() const { return shape; }
-       void SetShape(Shape *, const glm::vec3 &color);
-       void SetShapeless();
+       bool HasShape() const noexcept { return shape; }
+       const Shape *GetShape() const noexcept { return shape; }
+       void SetShape(const Shape *, const glm::vec3 &color);
+       void SetShapeless() noexcept;
 
-       const glm::vec3 &Velocity() const { return velocity; }
-       void Velocity(const glm::vec3 &);
+       const glm::vec3 &Velocity() const noexcept { return velocity; }
+       void Velocity(const glm::vec3 &) noexcept;
 
-       const Block::Pos &Position() const { return position; }
-       void Position(const Block::Pos &);
-       void Move(const glm::vec3 &delta);
+       const Block::Pos &Position() const noexcept { return position; }
+       void Position(const Block::Pos &) noexcept;
+       void Move(const glm::vec3 &delta) noexcept;
 
-       const Chunk::Pos ChunkCoords() const { return chunk; }
+       const Chunk::Pos ChunkCoords() const noexcept { return chunk; }
 
-       const glm::quat &AngularVelocity() const { return angular_velocity; }
-       void AngularVelocity(const glm::quat &);
+       const glm::quat &AngularVelocity() const noexcept { return angular_velocity; }
+       void AngularVelocity(const glm::quat &) noexcept;
 
-       const glm::mat4 &Rotation() const { return rotation; }
-       void Rotation(const glm::mat4 &);
-       void Rotate(const glm::quat &delta);
+       const glm::mat4 &Rotation() const noexcept { return rotation; }
+       void Rotation(const glm::mat4 &) noexcept;
+       void Rotate(const glm::quat &delta) noexcept;
 
-       glm::mat4 Transform(const Chunk::Pos &chunk_offset) const;
-       Ray Aim(const Chunk::Pos &chunk_offset) const;
+       glm::mat4 Transform(const Chunk::Pos &chunk_offset) const noexcept;
+       Ray Aim(const Chunk::Pos &chunk_offset) const noexcept;
 
-       void Update(int dt);
+       void Update(int dt) noexcept;
 
-       void Draw();
+       void Draw() noexcept;
 
 private:
-       Shape *shape;
+       const Shape *shape;
        Model model;
 
        glm::vec3 velocity;