gtsam_points
Loading...
Searching...
No Matches
arcball_camera_control.hpp
Go to the documentation of this file.
1#ifndef GUIK_ARCBALL_CAMERA_CONTROL_XY_HPP
2#define GUIK_ARCBALL_CAMERA_CONTROL_XY_HPP
3
5
6namespace guik {
7
9public:
10 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
11
13 ArcBallCameraControl(double distance, const Eigen::Quaternionf& quat = Eigen::Quaternionf::Identity());
14 virtual ~ArcBallCameraControl() override;
15
16 virtual void reset_center() override;
17 virtual void lookat(const Eigen::Vector3f& pt) override;
18
19 virtual void mouse(const Eigen::Vector2f& p, int button, bool down) override;
20 virtual void drag(const Eigen::Vector2f& p, int button) override;
21 virtual void scroll(const Eigen::Vector2f& rel) override;
22
23 virtual void updown(double p) override;
24 virtual void arrow(const Eigen::Vector2f& p) override;
25
26 virtual Eigen::Vector2f depth_range() const override;
27
28 virtual Eigen::Matrix4f view_matrix() const override;
29
30 virtual std::string name() const override { return "ArcBallCameraControl"; }
31 virtual void load(std::istream& ist) override;
32 virtual void save(std::ostream& ost) const override;
33
34protected:
35 double distance;
36 Eigen::Vector3f center;
37 Eigen::Vector3f center_offset;
38
39 Eigen::Vector3f delta_trans;
40
41 Eigen::Quaternionf orientation;
42 Eigen::Quaternionf delta_orientation;
43
46 Eigen::Vector2f mouse_down_pos;
47 Eigen::Vector2f drag_last_pos;
48};
49
50} // namespace guik
51
52#endif
Definition arcball_camera_control.hpp:8
bool left_button_down
Definition arcball_camera_control.hpp:44
virtual void load(std::istream &ist) override
virtual std::string name() const override
Definition arcball_camera_control.hpp:30
Eigen::Vector2f mouse_down_pos
Definition arcball_camera_control.hpp:46
virtual void save(std::ostream &ost) const override
Eigen::Vector3f delta_trans
Definition arcball_camera_control.hpp:39
Eigen::Vector3f center
Definition arcball_camera_control.hpp:36
virtual void lookat(const Eigen::Vector3f &pt) override
virtual void scroll(const Eigen::Vector2f &rel) override
Eigen::Quaternionf orientation
Definition arcball_camera_control.hpp:41
Eigen::Vector3f center_offset
Definition arcball_camera_control.hpp:37
virtual void arrow(const Eigen::Vector2f &p) override
virtual void drag(const Eigen::Vector2f &p, int button) override
virtual Eigen::Vector2f depth_range() const override
virtual void updown(double p) override
virtual void reset_center() override
bool middle_button_down
Definition arcball_camera_control.hpp:45
virtual Eigen::Matrix4f view_matrix() const override
Eigen::Vector2f drag_last_pos
Definition arcball_camera_control.hpp:47
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ArcBallCameraControl()
ArcBallCameraControl(double distance, const Eigen::Quaternionf &quat=Eigen::Quaternionf::Identity())
virtual ~ArcBallCameraControl() override
double distance
Definition arcball_camera_control.hpp:35
virtual void mouse(const Eigen::Vector2f &p, int button, bool down) override
Eigen::Quaternionf delta_orientation
Definition arcball_camera_control.hpp:42
Definition camera_control.hpp:12
Definition drawable_container.hpp:9