X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=blobdiff_plain;f=src%2FEntities%2FPolygon.cpp;h=9f1aa43aabf04d9fb4e78b9d7526887a76d4c2db;hb=389bf8fdd7e1b8f4fe21e5a9fdb477d40d03d829;hp=cd03d853056ff035b4a711eafc60ce094be1f225;hpb=aa2791cf43a9ddd3a288e504db08e11d03439653;p=physics.git diff --git a/src/Entities/Polygon.cpp b/src/Entities/Polygon.cpp index cd03d85..9f1aa43 100644 --- a/src/Entities/Polygon.cpp +++ b/src/Entities/Polygon.cpp @@ -16,17 +16,18 @@ */ #include "Polygon.h" -#include "debug.h" -#include "Vector2.h" +#include +#include +using namespace bear; #include "graphics/graphics.h" /// ***** Constructors/Destructors ***** -Polygon::Polygon(const vector& points) - : PhysicsEntity(Vector2(0,0)), points(points) +Polygon::Polygon(const vector& points, const float* color) + : PhysicsEntity(Vector2(0,0)), m_points(points), m_color(color) { DASSERT(0 < points.size()); @@ -42,24 +43,24 @@ Polygon::~Polygon() void Polygon::draw() const { - graphics::drawPolygon(points); + graphics::drawPolygon(m_points, m_color); } /// ***** Private Class Methods ***** void Polygon::createBindingBox() { - DASSERT(0 < points.size()); + DASSERT(0 < m_points.size()); - maxP = points.at(0); - minP = points.at(0); + m_maxP = m_points.at(0); + m_minP = m_points.at(0); - for(unsigned int i=1; i maxP.x) maxP.x = points[i].x; + if(m_points[i].m_fX < m_minP.m_fX) m_minP.m_fX = m_points[i].m_fX; + else if(m_points[i].m_fX > m_maxP.m_fX) m_maxP.m_fX = m_points[i].m_fX; - if(points[i].y < minP.y) minP.y = points[i].y; - else if(points[i].y > maxP.y) maxP.y = points[i].y; + if(m_points[i].m_fY < m_minP.m_fY) m_minP.m_fY = m_points[i].m_fY; + else if(m_points[i].m_fY > m_maxP.m_fY) m_maxP.m_fY = m_points[i].m_fY; } }