Skip to content

Commit d65526c

Browse files
committed
initialize size of edges and vertices depending on the bbox
1 parent 219ea87 commit d65526c

File tree

3 files changed

+26
-18
lines changed

3 files changed

+26
-18
lines changed

Basic_viewer/examples/Basic_viewer/draw_several_windows.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
#include <CGAL/draw_polyhedron.h>
66
#include <CGAL/draw_point_set_3.h>
77
#include <CGAL/Graphics_scene_options.h>
8-
#include <CGAL/Qt/Basic_viewer.h>
8+
#include <CGAL/Basic_viewer.h>
99

10-
#ifdef CGAL_USE_BASIC_VIEWER
10+
#ifdef CGAL_USE_BASIC_VIEWER_QT
1111
#include <QMainWindow>
1212
#endif
1313

@@ -55,7 +55,7 @@ int main(void)
5555
CGAL::add_to_graphics_scene(output_mesh, scene2);
5656

5757
/// (2) Qt code that create windows, add them in a layout, and create app.
58-
#ifdef CGAL_USE_BASIC_VIEWER
58+
#ifdef CGAL_USE_BASIC_VIEWER_QT
5959

6060
#if defined(CGAL_TEST_SUITE)
6161
bool cgal_test_suite=true;

Basic_viewer/examples/Basic_viewer/draw_surface_mesh_small_faces.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ int main(int argc, char* argv[])
103103

104104
add_to_graphics_scene(sm, gs, gsosm);
105105

106-
#ifdef CGAL_USE_BASIC_VIEWER
106+
#ifdef CGAL_USE_BASIC_VIEWER_QT
107107

108108
CGAL::Qt::QApplication_and_basic_viewer app(gs, "Small faces");
109109
if(app)

Basic_viewer/include/CGAL/Qt/Basic_viewer.h

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -93,19 +93,13 @@ class Basic_viewer : public CGAL::QGLViewer
9393
m_draw_cylinder_edge(false),
9494
m_draw_sphere_vertex(false),
9595
m_draw_mesh_triangles(false),
96-
m_geometry_feature_enabled(true),
9796
m_flat_shading(true),
9897
m_use_default_color(use_default_color),
9998
m_use_default_color_normal(false),
10099
m_display_face_normal(false),
101100
m_inverse_normal(inverse_normal),
101+
m_geometry_feature_enabled(true),
102102
m_no_2D_mode(no_2D_mode),
103-
m_size_vertices(1.0),
104-
m_size_edges(1.0),
105-
m_size_rays(1.0),
106-
m_size_lines(1.0),
107-
m_size_normals(0.2),
108-
m_height_factor_normals(0.02),
109103
m_default_color_normal(220, 60, 20),
110104
m_ambient_color(0.6f, 0.5f, 0.5f, 0.5f),
111105
m_are_buffers_initialized(false)
@@ -166,6 +160,21 @@ class Basic_viewer : public CGAL::QGLViewer
166160

167161
if (inverse_normal)
168162
{ reverse_all_normals(); }
163+
164+
if(!buf.empty())
165+
{
166+
auto& bbox=buf.bounding_box();
167+
double d=CGAL::sqrt(CGAL::squared_distance
168+
(Local_point(bbox.xmin(), bbox.ymin(), bbox.zmin()),
169+
Local_point(bbox.xmax(), bbox.ymax(), bbox.zmax())));
170+
// std::cout<<"Length of the diagonal: "<<d<<std::endl;
171+
m_size_vertices=1.5*d;
172+
m_size_edges=d;
173+
m_size_rays=m_size_edges;
174+
m_size_lines=m_size_edges;
175+
m_size_normals=d/3;
176+
m_height_factor_normals=0.02;
177+
}
169178
}
170179

171180
~Basic_viewer()
@@ -1867,13 +1876,12 @@ class Basic_viewer : public CGAL::QGLViewer
18671876
// filled by users but by the basic viewer.
18681877
std::vector<BufferType> m_array_for_clipping_plane;
18691878

1870-
double m_size_vertices;
1871-
double m_size_edges;
1872-
double m_size_rays;
1873-
double m_size_lines;
1874-
double m_size_normals;
1875-
1876-
double m_height_factor_normals;
1879+
double m_size_vertices=1.;
1880+
double m_size_edges=1.;
1881+
double m_size_rays=1.;
1882+
double m_size_lines=1.;
1883+
double m_size_normals=.2;
1884+
double m_height_factor_normals=.02;
18771885

18781886
CGAL::IO::Color m_default_color_normal;
18791887
QVector4D m_ambient_color;

0 commit comments

Comments
 (0)