From a7d576b74b915277542052ce1d6574e04471f5b0 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Sun, 28 Aug 2016 10:35:26 +0200 Subject: [PATCH] Add clear() and getSurfaces() methods to SurfaceStack --- src/Surfaces/SurfaceStack.cpp | 8 ++++++++ src/Surfaces/SurfaceStack.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/Surfaces/SurfaceStack.cpp b/src/Surfaces/SurfaceStack.cpp index 2e7eea4..5618e9a 100644 --- a/src/Surfaces/SurfaceStack.cpp +++ b/src/Surfaces/SurfaceStack.cpp @@ -41,6 +41,14 @@ void SurfaceStack::draw(){ } } +void SurfaceStack::clear(){ + for(int i = 0; i < size(); ++i){ + ofRemoveListener(_surfaces[i]->verticesChangedEvent, this, &SurfaceStack::onVerticesChanged); + ofRemoveListener(_surfaces[i]->vertexChangedEvent, this, &SurfaceStack::onVertexChanged); + } + _surfaces.clear(); +} + int SurfaceStack::size(){ return _surfaces.size(); } diff --git a/src/Surfaces/SurfaceStack.h b/src/Surfaces/SurfaceStack.h index 68084a9..19e808d 100644 --- a/src/Surfaces/SurfaceStack.h +++ b/src/Surfaces/SurfaceStack.h @@ -18,6 +18,7 @@ class SurfaceStack { void erase(int i); void swap(int a, int b); void draw(); + void clear(); int size(); @@ -31,6 +32,8 @@ class SurfaceStack { void onVerticesChanged(vector & vertices); void onVertexChanged(int & i); + vector & getSurfaces(){ return _surfaces; }; + private: SurfaceStack(){}