X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fshape.hpp;h=4120f76b938ab0ef5a01431aa6ce08633fabd7f7;hb=e53a0e2e711a7d8bd9b0ddacd1360aa14370643f;hp=abf87954c557bcfe6d9459492db60fb641cae757;hpb=15ff5ed48855c6bd09bc8f5152f46065484c1e94;p=blank.git diff --git a/src/shape.hpp b/src/shape.hpp index abf8795..4120f76 100644 --- a/src/shape.hpp +++ b/src/shape.hpp @@ -13,14 +13,14 @@ namespace blank { struct Shape { /// the number of vertices (and normals) this shape has - size_t VertexCount() const { return vtx_pos.size(); } + size_t VertexCount() const noexcept { return vtx_pos.size(); } /// the number of vertex indices this shape has - size_t VertexIndexCount() const { return vtx_idx.size(); } + size_t VertexIndexCount() const noexcept { return vtx_idx.size(); } - const Model::Normal &VertexNormal(size_t idx) const { return vtx_nrm[idx]; } + const Model::Normal &VertexNormal(size_t idx) const noexcept { return vtx_nrm[idx]; } Model::Normal VertexNormal( size_t idx, const glm::mat4 &transform - ) const { + ) const noexcept { return Model::Normal(transform * glm::vec4(vtx_nrm[idx], 0.0f)); } @@ -68,7 +68,7 @@ struct Shape { const glm::mat4 &, float &dist, glm::vec3 &normal - ) const = 0; + ) const noexcept = 0; protected: void SetShape(const Model::Positions &pos, const Model::Normals &nrm, const Model::Indices &idx) { @@ -98,7 +98,7 @@ class NullShape public: NullShape(); - bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const override; + bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const noexcept override; }; @@ -109,7 +109,7 @@ class CuboidShape public: CuboidShape(const AABB &bounds); - bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const override; + bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const noexcept override; private: AABB bb; @@ -123,7 +123,7 @@ class StairShape public: StairShape(const AABB &bounds, const glm::vec2 &clip); - bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const override; + bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const noexcept override; private: AABB top, bot;