mirror of https://github.com/CGAL/cgal
Fix Edit_box
This commit is contained in:
parent
59e8a2c52c
commit
8a50397cd9
|
|
@ -773,6 +773,7 @@ void Scene_edit_box_item::highlight()
|
||||||
{
|
{
|
||||||
d->ready_to_hl = true;
|
d->ready_to_hl = true;
|
||||||
Viewer_interface* viewer = dynamic_cast<Viewer_interface*>(*QGLViewer::QGLViewerPool().begin());
|
Viewer_interface* viewer = dynamic_cast<Viewer_interface*>(*QGLViewer::QGLViewerPool().begin());
|
||||||
|
viewer->makeCurrent();
|
||||||
int type = -1, id = -1;
|
int type = -1, id = -1;
|
||||||
//pick
|
//pick
|
||||||
if(!d->selection_on)
|
if(!d->selection_on)
|
||||||
|
|
@ -910,6 +911,7 @@ void Scene_edit_box_item::highlight()
|
||||||
void Scene_edit_box_item::clearHL()
|
void Scene_edit_box_item::clearHL()
|
||||||
{
|
{
|
||||||
Viewer_interface* viewer = dynamic_cast<Viewer_interface*>(*QGLViewer::QGLViewerPool().begin());
|
Viewer_interface* viewer = dynamic_cast<Viewer_interface*>(*QGLViewer::QGLViewerPool().begin());
|
||||||
|
viewer->makeCurrent();
|
||||||
d->hl_normal.clear();
|
d->hl_normal.clear();
|
||||||
d->hl_vertex.clear();
|
d->hl_vertex.clear();
|
||||||
|
|
||||||
|
|
@ -1275,6 +1277,7 @@ double Scene_edit_box_item_priv::applyZ(int id, double z, double dirz)
|
||||||
//type : 0 = vertex, 1 = edge, 2 = face
|
//type : 0 = vertex, 1 = edge, 2 = face
|
||||||
void Scene_edit_box_item_priv::picking(int& type, int& id, Viewer_interface *viewer)
|
void Scene_edit_box_item_priv::picking(int& type, int& id, Viewer_interface *viewer)
|
||||||
{
|
{
|
||||||
|
viewer->makeCurrent();
|
||||||
type = -1;
|
type = -1;
|
||||||
id = -1;
|
id = -1;
|
||||||
int deviceWidth = viewer->camera()->screenWidth();
|
int deviceWidth = viewer->camera()->screenWidth();
|
||||||
|
|
|
||||||
|
|
@ -997,13 +997,14 @@ public Q_SLOTS:
|
||||||
{
|
{
|
||||||
if(toggle)
|
if(toggle)
|
||||||
{
|
{
|
||||||
|
QGLViewer* viewer = *QGLViewer::QGLViewerPool().begin();
|
||||||
|
qobject_cast<Viewer_interface*>(viewer)->set2DSelectionMode(false);
|
||||||
edit_box = new Scene_edit_box_item(scene);
|
edit_box = new Scene_edit_box_item(scene);
|
||||||
edit_box->setRenderingMode(Wireframe);
|
edit_box->setRenderingMode(Wireframe);
|
||||||
edit_box->setName("Selection Box");
|
edit_box->setName("Selection Box");
|
||||||
connect(edit_box, &Scene_edit_box_item::aboutToBeDestroyed,
|
connect(edit_box, &Scene_edit_box_item::aboutToBeDestroyed,
|
||||||
this, &Polyhedron_demo_point_set_selection_plugin::reset_editbox);
|
this, &Polyhedron_demo_point_set_selection_plugin::reset_editbox);
|
||||||
scene->addItem(edit_box);
|
scene->addItem(edit_box);
|
||||||
QGLViewer* viewer = *QGLViewer::QGLViewerPool().begin();
|
|
||||||
viewer->installEventFilter(edit_box);
|
viewer->installEventFilter(edit_box);
|
||||||
add_box->setEnabled(true);
|
add_box->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -600,7 +600,11 @@ Scene::draw_aux(bool with_names, CGAL::Three::Viewer_interface* viewer)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(!with_names && item_should_be_skipped_in_draw(&item)) continue;
|
if(!with_names && item_should_be_skipped_in_draw(&item)) continue;
|
||||||
if(item.visible())
|
if(item.visible() &&
|
||||||
|
(item.renderingMode() == Flat ||
|
||||||
|
item.renderingMode() ==FlatPlusEdges ||
|
||||||
|
item.renderingMode() == Gouraud)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
if(with_names) {
|
if(with_names) {
|
||||||
viewer->glClearDepth(1.0);
|
viewer->glClearDepth(1.0);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue