cgv
clipped_view.h
1 #pragma once
2 
3 #include <cgv/render/view.h>
4 #include <cgv/media/axis_aligned_box.h>
5 
6 #include "lib_begin.h"
7 
8 namespace cgv {
9  namespace render {
10 
13 class CGV_API clipped_view : public view
14 {
15 public:
17 protected:
18  double z_near;
19  double z_far;
20  dbox3 scene_extent;
21 public:
23  clipped_view();
25  void compute_clipping_planes(double& z_near_derived, double& z_far_derived, bool clip_relative_to_extent = false) const;
27  void compute_clipping_planes(const view& view, double& z_near_derived, double& z_far_derived, bool clip_relative_to_extent = false) const;
29  void compute_clipping_planes(const dvec3& eye, const dvec3& view_dir, double& z_near_derived, double& z_far_derived, bool clip_relative_to_extent = false) const;
30 
33  double get_z_near() const;
36  virtual void set_z_near(double z);
38  double get_z_far() const;
40  virtual void set_z_far(double z);
42  static double get_z_D(double z_eye, double z_near, double z_far);
44  virtual void set_scene_extent(const dbox3& _box);
46  dbox3 get_scene_extent() const;
48  virtual void set_default_view();
50 };
51 
52  }
53 }
54 
55 #include <cgv/config/lib_end.h>
cgv::render::view
Definition: view.h:22
cgv::math::fvec< double, 3 >
cgv::render::clipped_view
Definition: clipped_view.h:14
cgv::media::axis_aligned_box< double, 3 >
cgv
the cgv namespace
Definition: vr_calib.cxx:9