Skip to content

Commit

Permalink
Merge remote-tracking branch 'cgal/master' into Mesh_3-avoid_tuples-j…
Browse files Browse the repository at this point in the history
…tournois

# Conflicts:
#	Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
  • Loading branch information
janetournois committed Jun 7, 2024
2 parents 3cf8660 + 2c13f1f commit 986b596
Show file tree
Hide file tree
Showing 34 changed files with 3,057 additions and 2,080 deletions.
198 changes: 99 additions & 99 deletions Documentation/doc/biblio/geom.bib

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Installation/cmake/modules/CGAL_pointmatcher_support.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ if(libpointmatcher_FOUND AND NOT TARGET CGAL::pointmatcher_support)
AND Boost_date_time_FOUND)
add_library(CGAL::pointmatcher_support INTERFACE IMPORTED)
target_compile_definitions(CGAL::pointmatcher_support INTERFACE "CGAL_LINKED_WITH_POINTMATCHER")
target_include_directories(CGAL::pointmatcher_support INTERFACE "${libpointmatcher_INCLUDE_DIR}")
target_include_directories(CGAL::pointmatcher_support INTERFACE "${libpointmatcher_INCLUDE_DIRS}")
target_link_libraries(CGAL::pointmatcher_support INTERFACE ${libpointmatcher_LIBRARIES} libnabo::nabo)
else()
message(STATUS "NOTICE: the libpointmatcher library requires the following boost components: thread filesystem system program_options date_time chrono.")
Expand Down
68 changes: 51 additions & 17 deletions Lab/demo/Lab/Plugins/PMP/Selection_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,13 @@ class CGAL_Lab_selection_plugin :
connect(ui_widget.selectionOrEuler, SIGNAL(currentChanged(int)), this, SLOT(on_SelectionOrEuler_changed(int)));
connect(ui_widget.editionBox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_editionBox_changed(int)));

ui_widget.Sharp_edges_label->hide();
ui_widget.Sharp_angle_spinbox->hide();
ui_widget.Select_sharp_edges_button->hide();
ui_widget.Select_boundaryButton->hide();
ui_widget.Add_to_selection_button->hide();
ui_widget.Select_all_NTButton->hide();

QObject* scene = dynamic_cast<QObject*>(scene_interface);
if(scene) {
connect(scene, SIGNAL(itemAboutToBeDestroyed(CGAL::Three::Scene_item*)), this, SLOT(item_about_to_be_destroyed(CGAL::Three::Scene_item*)));
Expand Down Expand Up @@ -544,55 +549,84 @@ public Q_SLOTS:
for(Selection_item_map::iterator it = selection_item_map.begin(); it != selection_item_map.end(); ++it)
{
it->second->set_lasso_mode(b);
ui_widget.Brush_label->setEnabled(!b);
ui_widget.Brush_size_spin_box->setEnabled(!b);
ui_widget.Brush_size_spin_box->setValue(0);
}
}
void on_Selection_type_combo_box_changed(int index) {
std::cout << "on_Selection_type_combo_box_changed(" << index << ")" << std::endl;

typedef Scene_polyhedron_selection_item::Active_handle Active_handle;
for(Selection_item_map::iterator it = selection_item_map.begin(); it != selection_item_map.end(); ++it) {
it->second->set_active_handle_type(static_cast<Active_handle::Type>(index));
Q_EMIT save_handleType();

it->second->setPathSelection(false);

ui_widget.Sharp_edges_label->hide();
ui_widget.Sharp_angle_spinbox->hide();
ui_widget.Select_sharp_edges_button->hide();
ui_widget.Select_boundaryButton->hide();
ui_widget.Add_to_selection_button->hide();
ui_widget.Select_all_NTButton->hide();

ui_widget.Get_minimum_button->setEnabled(false);
ui_widget.Select_isolated_components_button->setEnabled(false);

switch(index)
{
case 0:
case 1:
case 2:
case 0: // vertex
case 1: // face
case 2: // edge
ui_widget.lassoCheckBox->show();
ui_widget.Brush_label->show();
ui_widget.Brush_size_spin_box->show();

ui_widget.Get_minimum_button->setEnabled(true);
ui_widget.Select_isolated_components_button->setEnabled(true);
break;
case 3: // CC of faces
case 4: // Path of edges
default:
ui_widget.lassoCheckBox->hide();
ui_widget.lassoCheckBox->setChecked(false);
it->second->set_lasso_mode(false);
ui_widget.Brush_label->hide();
ui_widget.Brush_size_spin_box->hide();
ui_widget.Brush_size_spin_box->setValue(0);
break;
}
if(index == 1)

if(index == 0) // vertex
{
Q_EMIT set_operation_mode(-1);
}
else if(index == 1) // face
{
ui_widget.Select_all_NTButton->show();
ui_widget.Add_to_selection_button->hide();
ui_widget.Select_boundaryButton->hide();
Q_EMIT set_operation_mode(-1);
}
else if(index == 2)
else if(index == 2) // edge
{
ui_widget.Select_all_NTButton->hide();
ui_widget.Add_to_selection_button->hide();
ui_widget.Select_boundaryButton->show();
ui_widget.Sharp_angle_spinbox->show();
ui_widget.Select_sharp_edges_button->show();
Q_EMIT set_operation_mode(-1);
}
else if(index == 3) // CC of faces
{
Q_EMIT set_operation_mode(-1);
}
else if(index == 4)
else if(index == 4) // Path of edges
{
it->second->setPathSelection(true);
ui_widget.Select_all_NTButton->hide();
ui_widget.Add_to_selection_button->show();
ui_widget.Select_boundaryButton->show();
Q_EMIT set_operation_mode(-2);
}
else
{
ui_widget.Add_to_selection_button->hide();
ui_widget.Select_all_NTButton->hide();
ui_widget.Select_boundaryButton->hide();
it->second->setPathSelection(false);
Q_EMIT set_operation_mode(-1);
std::cerr << "Error: unknown selection type" << std::endl;
}
}
filter_operations();
Expand Down
Loading

0 comments on commit 986b596

Please sign in to comment.