27#ifndef EASY3D_VIEWER_MULTI_VIEWER_H
28#define EASY3D_VIEWER_MULTI_VIEWER_H
30#include <easy3d/viewer/viewer.h>
38 class VertexArrayObject;
96 void post_resize(
int w,
int h)
override;
97 void draw()
const override;
100 bool mouse_press_event(
int x,
int y,
int button,
int modifiers)
override;
102 bool mouse_release_event(
int x,
int y,
int button,
int modifiers)
override;
104 bool mouse_drag_event(
int x,
int y,
int dx,
int dy,
int button,
int modifiers)
override;
106 void draw_division()
const;
107 void update_division();
114 std::vector<const Model *>
models;
118 std::vector<std::vector<View> > views_;
119 VertexArrayObject *division_vao_;
120 ShaderProgram *lines_program_;
121 unsigned int division_vertex_buffer_;
122 bool division_visible_;
The base class for drawable objects. A drawable represent a set of points, line segments,...
Definition: drawable.h:56
The base class of renderable 3D models.
Definition: model.h:49
A viewer that supports multiple views (arranged in a grid layout).
Definition: multi_viewer.h:44
vec3 point_under_pixel(int x, int y, bool &found) const override
Query the XYZ coordinates of the surface point under the cursor.
Definition: multi_viewer.cpp:255
bool division_visible() const
Returns if the splitting lines of the views are visible.
Definition: multi_viewer.h:77
void assign(int row, int col, const Model *m)
Assigns the model m to the view at position (row, col).
Definition: multi_viewer.cpp:74
MultiViewer(int rows, int cols, const std::string &title="untitled")
Constructor.
Definition: multi_viewer.cpp:45
void set_division_visible(bool b)
Sets the visibility of the splitting lines of the views (visible by default).
Definition: multi_viewer.h:74
The built-in Easy3D viewer.
Definition: viewer.h:61
const std::string & title() const
Query the window title of the viewer.
Definition: viewer.h:119
const std::vector< Model * > & models() const
Query the models managed by this viewer.
Definition: viewer.h:263
const std::vector< Drawable * > & drawables() const
Query the drawables managed by this viewer.
Definition: viewer.h:302
Definition: collider.cpp:182