ctaza/prop.cpp

36 lines
913 B
C++

#include "prop.hpp"
Prop::Prop(
const std::vector<GLfloat> &vertices,
Shader *shader,
glm::vec3 pos)
:
mesh(vertices, shader),
collision_box(
glm::vec3(vertices[0], vertices[1], vertices[2]),
glm::vec3(vertices[0], vertices[1], vertices[2])),
position(pos)
{
assert(vertices.size() >= 3);
for (size_t i = 0; i < vertices.size(); i += 8) {
auto x = vertices[i],
y = vertices[i+1],
z = vertices[i+2];
if (x < collision_box.min.x) collision_box.min.x = x;
if (y < collision_box.min.y) collision_box.min.y = y;
if (y < collision_box.min.z) collision_box.min.z = z;
if (x > collision_box.max.x) collision_box.max.x = x;
if (y > collision_box.max.y) collision_box.max.y = y;
if (y > collision_box.max.z) collision_box.max.z = z;
}
}
void
Prop::draw() const
{
mesh.draw();
}