cgv
Loading...
Searching...
No Matches
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
8namespace cgv {
9 namespace render {
10
13class CGV_API clipped_view : public view
14{
15protected:
16 double z_near;
17 double z_far;
18 dbox3 scene_extent;
19public:
23 void compute_clipping_planes(double& z_near_derived, double& z_far_derived, bool clip_relative_to_extent = false) const;
25 void compute_clipping_planes(const view& view, double& z_near_derived, double& z_far_derived, bool clip_relative_to_extent = false) const;
27 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;
28
32 double get_z_near() const;
34 double& ref_z_near() { return z_near; }
36 virtual void set_z_near(double z);
38 double get_z_far() const;
40 double& ref_z_far() { return z_far; }
42 virtual void set_z_far(double z);
44 static double get_z_D(double z_eye, double z_near, double z_far);
46 virtual void set_scene_extent(const dbox3& _box);
48 dbox3 get_scene_extent() const;
50 virtual void set_default_view();
52};
53
54 }
55}
56
57#include <cgv/config/lib_end.h>
extends the view class with information on z clipping planes and scene extent and supports clipping p...
double & ref_z_far()
reference to z_far value for ui construction
double & ref_z_near()
reference to z_near value for ui construction
defines a symmetric view with the following quantities:
Definition view.h:22
the cgv namespace
Definition print.h:11