11#ifndef VIEW_VIEWER_INSTRUCTOR_H_
12#define VIEW_VIEWER_INSTRUCTOR_H_
18#include <QGLViewer/camera.h>
23#include "model/Complex_typedefs.h"
25#include "Projector3D.h"
26#include "View_parameter.h"
30class Viewer_parameter;
32class Viewer_instructor :
public QWidget {
35 typedef Geometry_trait::Point_3 Point_3;
36 typedef Complex::Point Point;
38 typedef Complex::Edge_handle Edge_handle;
39 typedef Complex::Simplex Simplex;
44 std::unique_ptr<Projector3D> projector_;
47 Viewer_instructor(QWidget* parent, Viewer* viewer,
const Complex& mesh);
49 void initialize_bounding_box();
51 std::pair<Point, Point> compute_bounding_box_corners();
53 void show_entire_scene();
55 const qglviewer::Camera* camera()
const;
69 void give_instructions();
72 void draw_triangles();
75 void draw_edge(
const Point&,
const Point&);
77 void draw_point(
const Point&);
83 void set_color_edge(Edge_handle eh);
85 void set_color_triangle(
const Simplex& triangle);
91 Point_3 proj(
const Point& p)
const;
95 void change_draw_vertices();
96 void change_draw_edges();
97 void change_draw_triangles();
Definition: View_parameter.h:20
Definition: SkeletonBlockerDS.h:56
Handle type for the vertices of a cell complex.
Definition: VertexHandle.h:15