X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?p=physics.git;a=blobdiff_plain;f=src%2FEntities%2FPolygon.cpp;h=cd03d853056ff035b4a711eafc60ce094be1f225;hp=bf2fb0021bd8f6c70bb54024a8f54a36fb99dc53;hb=aa2791cf43a9ddd3a288e504db08e11d03439653;hpb=4a76d2e2cf7874e54a4e6688ebf1fa8ca59ce8c1 diff --git a/src/Entities/Polygon.cpp b/src/Entities/Polygon.cpp index bf2fb00..cd03d85 100644 --- a/src/Entities/Polygon.cpp +++ b/src/Entities/Polygon.cpp @@ -31,6 +31,7 @@ Polygon::Polygon(const vector& points) DASSERT(0 < points.size()); createBindingBox(); + centerPosition(); } Polygon::~Polygon() { @@ -47,5 +48,22 @@ void Polygon::draw() const /// ***** Private Class Methods ***** void Polygon::createBindingBox() { + DASSERT(0 < points.size()); + + maxP = points.at(0); + minP = points.at(0); + + for(unsigned int i=1; i maxP.x) maxP.x = points[i].x; + + if(points[i].y < minP.y) minP.y = points[i].y; + else if(points[i].y > maxP.y) maxP.y = points[i].y; + } +} + +void Polygon::centerPosition() +{ // TODO }