Exemplo n.º 1
0
void ofxPuppetInteractive::mousePressed(ofMouseEventArgs& e){
	float distance = getNearestVertex(deformedMesh, ofVec2f(e.x, e.y), selectedVertex);
	if(distance < selectionRadius) {
		if(e.button == 0) {
			selected = true;
			setControlPoint(selectedVertex);
		} else if(e.button == 2) {
			if(controlPoints.find(selectedVertex) != controlPoints.end()) {
				removeControlPoint(selectedVertex);
			}
		}
	} else {
		selected = false;
	}
}
Exemplo n.º 2
0
void GLWidget::mousePressEvent(QMouseEvent *event)
{
    // right click to remove points
    if (event->button() == Qt::RightButton) {
        QPoint mpos = event->pos();
        removeControlPoint((float)mpos.x(), (float)mpos.y());
    }

    // left click and drag to to move points
    if (event->button() == Qt::LeftButton) {
        QPoint mpos = event->pos();
        int selectIndex = getSelectedPoint((float)mpos.x(), (float)mpos.y());
        if (selectIndex != -1) {
            selectedPointIndex = selectIndex;
            isPointSelected = true;
        } else {
            isPointSelected = false;
        }
    }
}