From 01db6d2e4e19bbecb6c246b86f15c58b6851cfd2 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Wed, 17 Aug 2016 21:50:59 +0200 Subject: [PATCH] Implement `TriangleSurface::scaleTo()` method --- src/Surfaces/TriangleSurface.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Surfaces/TriangleSurface.cpp b/src/Surfaces/TriangleSurface.cpp index 03a89fc..eba3436 100644 --- a/src/Surfaces/TriangleSurface.cpp +++ b/src/Surfaces/TriangleSurface.cpp @@ -136,7 +136,14 @@ void TriangleSurface::moveBy(ofVec2f v){ void TriangleSurface::scaleTo(float scale){ cout << "TriangleSurface::scaleTo()" << endl; + ofVec3f centroid = mesh.getCentroid(); + for(unsigned int i = 0; i < mesh.getVertices().size(); ++i){ + ofVec3f d = mesh.getVertices()[i] - centroid; + d *= scale; + mesh.getVertices()[i] = centroid + d; + } + ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); } int TriangleSurface::getType(){