X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmodel%2Fshape.cpp;h=e9364bd45498d0f06bea9efa09435998fe502e48;hb=a1f911f8257f614f874c201fede5d5206f5b7e80;hp=8aa1c257e0d8f65eb69b54d588b4e763e30296bf;hpb=419e33e565bffbaf0416ed4a5f80e9c81f62a479;p=blank.git diff --git a/src/model/shape.cpp b/src/model/shape.cpp index 8aa1c25..e9364bd 100644 --- a/src/model/shape.cpp +++ b/src/model/shape.cpp @@ -5,9 +5,9 @@ namespace blank { void Shape::Vertices( - Model::Positions &vertex, - Model::Normals &normal, - Model::Indices &index + EntityModel::Positions &vertex, + EntityModel::Normals &normal, + EntityModel::Indices &index ) const { for (const auto &pos : vtx_pos) { vertex.emplace_back(pos); @@ -21,11 +21,11 @@ void Shape::Vertices( } void Shape::Vertices( - Model::Positions &vertex, - Model::Normals &normal, - Model::Indices &index, + EntityModel::Positions &vertex, + EntityModel::Normals &normal, + EntityModel::Indices &index, const glm::mat4 &transform, - Model::Index idx_offset + EntityModel::Index idx_offset ) const { for (const auto &pos : vtx_pos) { vertex.emplace_back(transform * glm::vec4(pos, 1.0f)); @@ -83,7 +83,9 @@ bool NullShape::Intersects( bool NullShape::Intersects( const glm::mat4 &, const AABB &, - const glm::mat4 & + const glm::mat4 &, + float &, + glm::vec3 & ) const noexcept { return false; } @@ -178,10 +180,10 @@ bool CuboidShape::Intersects( bool CuboidShape::Intersects( const glm::mat4 &M, const AABB &box, - const glm::mat4 &box_M + const glm::mat4 &box_M, + float &depth, + glm::vec3 &normal ) const noexcept { - float depth; - glm::vec3 normal; return Intersection(bb, M, box, box_M, depth, normal); } @@ -347,10 +349,11 @@ bool StairShape::Intersects( bool StairShape::Intersects( const glm::mat4 &M, const AABB &box, - const glm::mat4 &box_M + const glm::mat4 &box_M, + float &depth, + glm::vec3 &normal ) const noexcept { - float depth; - glm::vec3 normal; + // TODO: this is wrong, but simple. so for now will have to do return Intersection(bot, M, box, box_M, depth, normal) || Intersection(top, M, box, box_M, depth, normal); }