From 9c967f92aa9768e740fea41ff7a7ff0f6ee6872c Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Sat, 10 May 2014 16:12:43 +0200 Subject: [PATCH] Select and drag just one joint if they are overlaping --- src/ofxBaseJoint.cpp | 4 ++-- src/ofxSurfaceGui.cpp | 24 ++++++++++++++++++++++++ src/ofxSurfaceGui.h | 5 +++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/ofxBaseJoint.cpp b/src/ofxBaseJoint.cpp index 311a59a..0c87068 100644 --- a/src/ofxBaseJoint.cpp +++ b/src/ofxBaseJoint.cpp @@ -14,9 +14,9 @@ ofxBaseJoint::~ofxBaseJoint() void ofxBaseJoint::mousePressed(int x, int y, int button) { if ( hitTest(ofVec2f(x, y)) ) { - selected = true; + //selected = true; clickDistance = position - ofVec2f(x, y); - startDrag(); + //startDrag(); } } diff --git a/src/ofxSurfaceGui.cpp b/src/ofxSurfaceGui.cpp index e36eb8e..eea1e60 100644 --- a/src/ofxSurfaceGui.cpp +++ b/src/ofxSurfaceGui.cpp @@ -4,6 +4,8 @@ ofxSurfaceGui::ofxSurfaceGui() { surface = NULL; mode = NONE; + bProjectionMappingJointSelected = false; + bTextureMappingJointSelected = false; } ofxSurfaceGui::~ofxSurfaceGui() @@ -56,14 +58,26 @@ void ofxSurfaceGui::mousePressed(int x, int y, int button) if (mode == NONE) return; if (mode == PROJECTION_MAPPING) { + bProjectionMappingJointSelected = false; for ( int i=0; i projectionMappingJoints; vector textureMappingJoints; + bool bTextureMappingJointSelected; + bool bProjectionMappingJointSelected; + bool isProjectionMappingJointSelected(); + bool isTextureMappingJointSelected(); + void addProjectionMappingJoint(); void addNumProjectionMappingJoints(int num); void addTextureMappingJoint();