mirror of https://github.com/CGAL/cgal
Merge pull request #3251 from maxGimeno/Demo-Fix_removeAll-GF
Polyhedron Demo: Fix snapshot and erase all
This commit is contained in:
commit
597d80ccbc
|
|
@ -227,9 +227,11 @@ Scene::erase(QList<int> indices)
|
|||
}
|
||||
|
||||
Q_FOREACH(Scene_item* item, to_be_removed) {
|
||||
Item_id removed_item = item_id(item);
|
||||
if(removed_item == -1) //case of the selection_item, for example.
|
||||
continue;
|
||||
if(item->parentGroup())
|
||||
item->parentGroup()->removeChild(item);
|
||||
Item_id removed_item = item_id(item);
|
||||
children.removeAll(removed_item);
|
||||
indexErased(removed_item);
|
||||
m_entries.removeAll(item);
|
||||
|
|
@ -504,8 +506,7 @@ void Scene::renderScene(const QList<Scene_interface::Item_id> &items,
|
|||
bool writing_depth,
|
||||
QOpenGLFramebufferObject *fbo)
|
||||
{
|
||||
if(pass == -1)
|
||||
viewer->makeCurrent();
|
||||
|
||||
viewer->setCurrentPass(pass);
|
||||
viewer->setDepthWriting(writing_depth);
|
||||
viewer->setDepthPeelingFbo(fbo);
|
||||
|
|
@ -663,7 +664,6 @@ void Scene::renderPointScene(const QList<Scene_interface::Item_id> &items,
|
|||
void
|
||||
Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
||||
{
|
||||
viewer->makeCurrent();
|
||||
QMap<float, int> picked_item_IDs;
|
||||
if(with_names)
|
||||
viewer->glEnable(GL_DEPTH_TEST);
|
||||
|
|
@ -703,7 +703,6 @@ Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
|||
0.0f);
|
||||
viewer->glClearDepthf(1);
|
||||
viewer->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
//renderScene(children, viewer, picked_item_IDs, false, 0,false, NULL);
|
||||
renderScene(opaque_items, viewer, picked_item_IDs, false, 0,false, NULL);
|
||||
renderScene(transparent_items, viewer, picked_item_IDs, false, 0,false, NULL);
|
||||
fbos[0]->release();
|
||||
|
|
@ -718,7 +717,6 @@ Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
|||
0.0f);
|
||||
viewer->glClearDepthf(1);
|
||||
viewer->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
// renderScene(children, viewer, picked_item_IDs, false, 0,true, NULL);
|
||||
renderScene(opaque_items, viewer, picked_item_IDs, false, 0,true, NULL);
|
||||
renderScene(transparent_items, viewer, picked_item_IDs, false, 0,true, NULL);
|
||||
depth_test[0]->release();
|
||||
|
|
@ -739,7 +737,6 @@ Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
|||
viewer->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
renderWireScene(children, viewer, picked_item_IDs, false);
|
||||
renderPointScene(children, viewer, picked_item_IDs, false);
|
||||
//renderScene(children, viewer, picked_item_IDs, false, i, false, depth_test[i-1]);
|
||||
renderScene(opaque_items , viewer, picked_item_IDs, false, i, false, depth_test[i-1]);
|
||||
renderScene(transparent_items, viewer, picked_item_IDs, false, i, false, depth_test[i-1]);
|
||||
fbos[i]->release();
|
||||
|
|
@ -755,7 +752,6 @@ Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
|||
0.0f);
|
||||
viewer->glClearDepthf(1);
|
||||
viewer->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
//renderScene(children, viewer, picked_item_IDs, false, i, true, depth_test[i-1]);
|
||||
renderScene(opaque_items , viewer, picked_item_IDs, false, i, true, depth_test[i-1]);
|
||||
renderScene(transparent_items, viewer, picked_item_IDs, false, i, true, depth_test[i-1]);
|
||||
depth_test[i]->release();
|
||||
|
|
@ -786,7 +782,7 @@ Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
|||
viewer->glClearColor(background.redF(),
|
||||
background.greenF(),
|
||||
background.blueF(),
|
||||
1.0f);
|
||||
0.0f);
|
||||
viewer->glDisable(GL_DEPTH_TEST);
|
||||
viewer->glClear(GL_COLOR_BUFFER_BIT);
|
||||
viewer->glEnable(GL_BLEND);
|
||||
|
|
|
|||
Loading…
Reference in New Issue