return false;
}
+bool NullShape::Intersects(
+ const glm::mat4 &,
+ const AABB &,
+ const glm::mat4 &,
+ float &,
+ glm::vec3 &
+) const noexcept {
+ return false;
+}
+
CuboidShape::CuboidShape(const AABB &b)
: Shape()
return Intersection(ray, bb, M, &dist, &normal);
}
+bool CuboidShape::Intersects(
+ const glm::mat4 &M,
+ const AABB &box,
+ const glm::mat4 &box_M,
+ float &depth,
+ glm::vec3 &normal
+) const noexcept {
+ return Intersection(bb, M, box, box_M, depth, normal);
+}
+
StairShape::StairShape(const AABB &bb, const glm::vec2 &clip)
: Shape()
}
}
+bool StairShape::Intersects(
+ const glm::mat4 &M,
+ const AABB &box,
+ const glm::mat4 &box_M,
+ float &depth,
+ glm::vec3 &normal
+) const noexcept {
+ // 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);
+}
+
}