diff --git a/Lab/demo/Lab/Scene_item.cpp b/Lab/demo/Lab/Scene_item.cpp index 104d2af1c10..a7622f25b77 100644 --- a/Lab/demo/Lab/Scene_item.cpp +++ b/Lab/demo/Lab/Scene_item.cpp @@ -143,7 +143,12 @@ moveToGroup(CGAL::Three::Scene_group_item* group) { void CGAL::Three::Scene_item::invalidateOpenGLBuffers() {} -void CGAL::Three::Scene_item::selection_changed(bool) {} +void CGAL::Three::Scene_item::selection_changed(bool p_is_selected) { + if (p_is_selected != is_selected) + { + is_selected = p_is_selected; + } +} void CGAL::Three::Scene_item::setVisible(bool b) { visible_ = b; diff --git a/Lab/demo/Lab/Scene_surface_mesh_item.cpp b/Lab/demo/Lab/Scene_surface_mesh_item.cpp index cf8ed877f77..d484723e55a 100644 --- a/Lab/demo/Lab/Scene_surface_mesh_item.cpp +++ b/Lab/demo/Lab/Scene_surface_mesh_item.cpp @@ -734,7 +734,7 @@ void Scene_surface_mesh_item_priv::initialize_colors() const if(item->property("recompute_colors").toBool()) { colors_.clear(); - compute_color_map(item->color(), (std::max)(1, max + 1 - min_patch_id), + compute_deterministic_color_map(item->color(), (std::max)(1, max + 1 - min_patch_id), std::back_inserter(colors_)); qDebug()<setAlpha(alpha()); getTriangleContainer(T3_faces)->setIsSurface(is_surface()); + getTriangleContainer(T3_faces)->setSelected(is_selected); QOpenGLShaderProgram* program = viewer->getShaderProgram(getTriangleContainer(T3_faces)->getProgram()); program->bind(); if(d->is_filterable) diff --git a/Lab/demo/Lab/resources/shader_c3t3.frag b/Lab/demo/Lab/resources/shader_c3t3.frag index 4f347d310c6..c0daffeb795 100644 --- a/Lab/demo/Lab/resources/shader_c3t3.frag +++ b/Lab/demo/Lab/resources/shader_c3t3.frag @@ -98,7 +98,7 @@ void main(void) { vec4 specular = pow(max(dot(R,V), 0.0), spec_power) * light_spec; vec4 ret_color = vec4((my_color*light_amb).xyz + diffuse.xyz + specular.xyz,1); if(is_selected) - out_color = vec4(ret_color.r+70.0/255.0, ret_color.g+70.0/255.0, ret_color.b+70.0/255.0, alpha); + out_color = vec4(ret_color.r+35.0/255.0, ret_color.g+35.0/255.0, ret_color.b+35.0/255.0, alpha); else out_color = vec4(ret_color.xyz, alpha); }