diff --git a/src/Surfaces/SurfaceManager.cpp b/src/Surfaces/SurfaceManager.cpp index e2bd78c..da93a60 100644 --- a/src/Surfaces/SurfaceManager.cpp +++ b/src/Surfaces/SurfaceManager.cpp @@ -199,7 +199,10 @@ void SurfaceManager::selectVertex(int i){ } if(i > selectedSurface->getVertices().size() - 1){ - ofLogError("SurfaceManager::selectVertex") << "index out of bounds" << endl; + ofLogError("SurfaceManager::selectVertex") << "index (" << i << ") out of bounds" << endl; + int prevVertIndex = _selectedVertexIndex; + ofNotifyEvent(vertexUnselectedEvent, prevVertIndex, this); + _selectedVertexIndex = -1; return; } diff --git a/src/Surfaces/SurfaceManager.h b/src/Surfaces/SurfaceManager.h index d1e7092..1afc8bc 100644 --- a/src/Surfaces/SurfaceManager.h +++ b/src/Surfaces/SurfaceManager.h @@ -57,6 +57,7 @@ class SurfaceManager { ofEvent > verticesChangedEvent; ofEvent surfaceSelectedEvent; ofEvent vertexSelectedEvent; + ofEvent vertexUnselectedEvent; void onVertexChanged(int & i); void onVerticesChanged(vector & vertices);