Browse Source

Select vertex GUI on `vertexSelectedEvent` from `SurfaceManager`

master
Krisjanis Rijnieks 9 years ago
parent
commit
4231f61acc
  1. 17
      src/Surfaces/SurfaceManagerGui.cpp
  2. 1
      src/Surfaces/SurfaceManagerGui.h

17
src/Surfaces/SurfaceManagerGui.cpp

@ -226,11 +226,19 @@ void SurfaceManagerGui::mouseDragged(ofMouseEventArgs & args){
}
void SurfaceManagerGui::setSurfaceManager(SurfaceManager * newSurfaceManager){
if(surfaceManager == 0){
ofRemoveListener(newSurfaceManager->vertexChangedEvent, this, &SurfaceManagerGui::onVertexChanged);
ofRemoveListener(newSurfaceManager->verticesChangedEvent, this, &SurfaceManagerGui::onVerticesChanged);
ofRemoveListener(newSurfaceManager->surfaceSelectedEvent, this, &SurfaceManagerGui::onSurfaceSelected);
ofRemoveListener(newSurfaceManager->vertexSelectedEvent, this, &SurfaceManagerGui::onVertexSelected);
}
surfaceManager = newSurfaceManager;
ofAddListener(newSurfaceManager->vertexChangedEvent, this, &SurfaceManagerGui::onVertexChanged);
ofAddListener(newSurfaceManager->verticesChangedEvent, this, &SurfaceManagerGui::onVerticesChanged);
ofAddListener(newSurfaceManager->surfaceSelectedEvent, this, &SurfaceManagerGui::onSurfaceSelected);
ofAddListener(newSurfaceManager->vertexSelectedEvent, this, &SurfaceManagerGui::onVertexSelected);
projectionEditor.setSurfaceManager(surfaceManager);
sourcesEditor.setSurfaceManager(surfaceManager);
@ -345,5 +353,14 @@ void SurfaceManagerGui::onSurfaceSelected(int & surfaceIndex){
projectionEditor.createJoints();
}
void SurfaceManagerGui::onVertexSelected(int & vertexIndex){
if(projectionEditor.getJoints()->size() == 0){
return;
}
projectionEditor.unselectAllJoints();
projectionEditor.getJoints()->at(vertexIndex)->select();
}
} // namespace piMapper
} // namespace ofx

1
src/Surfaces/SurfaceManagerGui.h

@ -50,6 +50,7 @@ class SurfaceManagerGui {
void onVertexChanged(ofVec3f & vertex);
void onVerticesChanged(vector<ofVec3f> & vertices);
void onSurfaceSelected(int & surfaceIndex);
void onVertexSelected(int & vertexIndex);
private:
SurfaceManager * surfaceManager;

Loading…
Cancel
Save