27#ifndef EASY3D_GUI_PICKER_MODEL_H
28#define EASY3D_GUI_PICKER_MODEL_H
30#include <easy3d/gui/picker.h>
31#include <easy3d/renderer/state.h>
32#include <easy3d/renderer/camera.h>
36#include <unordered_map>
71 Model *
pick(
const std::vector< std::shared_ptr<Model> >& models,
int x,
int y);
78 void draw(
const std::vector< std::shared_ptr<Model> >& models);
87 std::unordered_map<Drawable *, State> states_;
A perspective or orthographic camera.
Definition camera.h:113
The base class for drawable objects. A drawable represent a set of points, line segments,...
Definition drawable.h:58
The base class of renderable 3D models.
Definition model.h:50
Model * pick(const std::vector< std::shared_ptr< Model > > &models, int x, int y)
Pick a model from a set of models given the cursor position in the screen coordinate system.
Definition picker_model.cpp:46
~ModelPicker() override=default
Destructor.
ModelPicker(const Camera *cam)
Constructor.
Definition picker_model.cpp:41
Picker(const Camera *cam)
Constructor.
Definition picker.cpp:39
Definition collider.cpp:182
Vec< 4, float > vec4
A 4D point/vector of float type.
Definition types.h:46