#include "Entity.h" #include "cmath" #include #include "Model.h" Entity::Entity() { model = NULL; scale = 1; canCollide = true; } Entity::~Entity() { } void Entity::draw() { if (model) { glPushMatrix(); glTranslatef(position.x, position.y, position.z); glRotatef(rotation.x, 1, 0, 0); glRotatef(rotation.y, 0, 1, 0); glRotatef(rotation.z, 0, 0, 1); glScalef(scale, scale, scale); model->draw(); glPopMatrix(); } } bool Entity::inObject(const Vec3f & point) { if (!model) return false; Vec3f center = position + model->center; float distance = sqrt((point.x - center.x) * (point.x - center.x) + (point.z - center.z)*(point.z - center.z)); if (distance < model->radius*scale) return true; return false; }