gtsam_points
Loading...
Searching...
No Matches
basic_projection_control.hpp
Go to the documentation of this file.
1#ifndef GUIK_BASIC_PROJECTION_CONTROL_HPP
2#define GUIK_BASIC_PROJECTION_CONTROL_HPP
3
5
6namespace guik {
7
9public:
10 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
11
12 BasicProjectionControl(const Eigen::Vector2i& size);
14
15 virtual void set_size(const Eigen::Vector2i& size) override { this->size = size; }
16
17 virtual void set_depth_range(const Eigen::Vector2f& range) override;
18
19 void set_projection_mode(int mode); // 0 = perspective, 1 = orthogonal
20
21 void set_fovy(double fovy_deg);
22
23 void set_ortho_width(double width);
24
25 virtual Eigen::Matrix4f projection_matrix() const override;
26
27 virtual void draw_ui() override;
28
29 // io
30 virtual std::string name() const override;
31 virtual void load(std::istream& ist) override;
32 virtual void save(std::ostream& ost) const override;
33
34private:
35 Eigen::Vector2i size;
36
37 int projection_mode;
38
39 float fovy; // Perstictive projection FoV (vertical)
40 float width; // Orthogonal perojection width
41 float near_; // Near clipping plane distance (near, far are reserved in MSVC!!)
42 float far_; // Far clipping plane distance
43};
44
45} // namespace guik
46
47#endif
Definition basic_projection_control.hpp:8
void set_projection_mode(int mode)
void set_fovy(double fovy_deg)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW BasicProjectionControl(const Eigen::Vector2i &size)
virtual void set_size(const Eigen::Vector2i &size) override
Definition basic_projection_control.hpp:15
virtual Eigen::Matrix4f projection_matrix() const override
virtual void set_depth_range(const Eigen::Vector2f &range) override
virtual void load(std::istream &ist) override
virtual void save(std::ostream &ost) const override
virtual void draw_ui() override
virtual std::string name() const override
void set_ortho_width(double width)
Definition projection_control.hpp:8
Definition drawable_container.hpp:9