git-svn-id: svn://db.shs.com.ru/libs@631 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -88,23 +88,24 @@ void RendererSelection::fillSelectionsBuffer(bool yes, int size) {
|
||||
void RendererSelection::renderSelection(Scene & scene) {
|
||||
QOpenGLShaderProgram * prog = 0;
|
||||
QGLView * view = r->view;
|
||||
MouseController & mc(view->mouse);
|
||||
if (r->bindShader(Renderer::srSelectionFill, &prog)) {
|
||||
view->hov_objects.clear();
|
||||
mc.hov_objects.clear();
|
||||
id_hover = 0;
|
||||
if (fbo_selection.queriedPoints() > 0) {
|
||||
if (fbo_selection.queriedPoints() == 1) {
|
||||
id_hover = fbo_selection.getPoint();
|
||||
view->hov_objects.resize(1);
|
||||
view->hov_objects[0] = ids.value(id_hover);
|
||||
mc.hov_objects.resize(1);
|
||||
mc.hov_objects[0] = ids.value(id_hover);
|
||||
//qDebug() << id_hover;
|
||||
} else {
|
||||
QVector<uint> points = fbo_selection.getPoints();
|
||||
QSet<uint> ids_hover;
|
||||
foreach (uint i, points)
|
||||
ids_hover << i;
|
||||
view->hov_objects.clear();
|
||||
mc.hov_objects.clear();
|
||||
foreach (uint i, ids_hover)
|
||||
view->hov_objects << ids.value(i);
|
||||
mc.hov_objects << ids.value(i);
|
||||
//qDebug() << ids_hover;
|
||||
}
|
||||
}
|
||||
@@ -125,15 +126,7 @@ void RendererSelection::renderSelection(Scene & scene) {
|
||||
rs.omni_mesh->loadSelections(view, cur_selections_);
|
||||
rs.omni_mesh->draw(view, rs.cur_objects.size());
|
||||
|
||||
if (rs.fillCurrentHandleObjects()) {
|
||||
Mesh * hm = rs.currentHandleMesh();
|
||||
if (hm) {
|
||||
hm->loadObjects(view, rs.cur_objects);
|
||||
fillSelectionsBuffer(false, 3);
|
||||
hm->loadSelections(view, cur_selections_);
|
||||
hm->draw(view, 3);
|
||||
}
|
||||
}
|
||||
rs.drawCurrentHandleObjects();
|
||||
|
||||
//mouse_rect = fbo_selection.rect();
|
||||
if (r->mouse_rect.isNull())
|
||||
|
||||
Reference in New Issue
Block a user