|
mf
Media Framework
|
View frustum of a perspective camera, without pose. More...
#include <projection_view_frustum.h>
Public Types | |
| using | distance_pair = std::pair< real, real > |
| using | angle_pair = std::pair< angle, angle > |
Public Types inherited from mf::view_frustum | |
| enum | intersection { outside_frustum, inside_frustum, partially_inside_frustum } |
| using | edge = std::pair< Eigen_vec3, Eigen_vec3 > |
| using | corners_array = std::array< Eigen_vec3, 8 > |
| using | edges_array = std::array< edge, 12 > |
| using | planes_array = std::array< Eigen_hyperplane3, 6 > |
Public Member Functions | |
| const Eigen_projective3 & | projection_transformation () const |
| real | aspect_ratio () const |
| bool | is_symmetric_x () const |
| bool | is_symmetric_y () const |
| bool | is_symmetric () const |
| void | adjust_fov_x_to_aspect_ratio (real aspect_ratio) |
| void | adjust_fov_y_to_aspect_ratio (real aspect_ratio) |
Public Member Functions inherited from mf::view_frustum | |
| const Eigen_projective3 & | view_projection_transformation () const |
| const depth_projection_parameters & | depth_parameters () const |
| Eigen_hyperplane3 | near_plane () const |
| Eigen_hyperplane3 | far_plane () const |
| Eigen_hyperplane3 | left_plane () const |
| Eigen_hyperplane3 | right_plane () const |
| Eigen_hyperplane3 | bottom_plane () const |
| Eigen_hyperplane3 | top_plane () const |
| planes_array | planes () const |
| corners_array | corners () const |
| edges_array | edges () const |
| bool | contains (const Eigen_vec3 &, bool consider_z_planes=true) const |
| intersection | contains (const bounding_box &) const |
| view_frustum | transform (const Eigen_affine3 &) const |
Static Public Member Functions | |
| static projection_view_frustum | symmetric_perspective (real near_width, real near_height, const depth_projection_parameters &) |
| Create with symmetric perspective, given width and height of near clipping plane. More... | |
| static projection_view_frustum | symmetric_perspective_fov (angle near_width, angle near_height, const depth_projection_parameters &) |
| Create with symmetric perspective, given horizontal and vertical field of view angles. More... | |
| static projection_view_frustum | symmetric_perspective_fov_x (angle near_width, real aspect_ratio, const depth_projection_parameters &) |
| Create with symmetric perspective, given horizontal field of view and image aspect ratio. More... | |
| static projection_view_frustum | symmetric_perspective_fov_y (angle near_height, real aspect_ratio, const depth_projection_parameters &) |
| Create with symmetric perspective, given vertical field of view and image aspect ratio. More... | |
| static projection_view_frustum | asymmetric_perspective (distance_pair near_x, distance_pair near_y, const depth_projection_parameters &) |
| Create with asymmetric perspective, given horizontal and vertical ranges of near clipping plane. More... | |
| static projection_view_frustum | asymmetric_perspective_fov (angle_pair near_x, angle_pair near_y, const depth_projection_parameters &) |
| Create with asymmetric perspective, given horizontal and vertical limit angles of field of view. More... | |
Static Public Member Functions inherited from mf::view_frustum | |
| static intersection | contains (const planes_array &, const bounding_box &) |
Additional Inherited Members | |
Protected Member Functions inherited from mf::view_frustum | |
| view_frustum (const Eigen_mat4 &mat, const depth_projection_parameters &dparam) | |
| view_frustum ()=delete | |
| Eigen_mat4 & | matrix_ () |
| const Eigen_mat4 & | matrix_ () const |
View frustum of a perspective camera, without pose.
Frustum apex is at origin, axis-aligned, and pointing in -Z or +Z direction depending on depth projection parameter. Can be creates for perspective projection.
| using mf::projection_view_frustum::angle_pair = std::pair<angle, angle> |
| using mf::projection_view_frustum::distance_pair = std::pair<real, real> |
| void mf::projection_view_frustum::adjust_fov_x_to_aspect_ratio | ( | real | aspect_ratio | ) |
| void mf::projection_view_frustum::adjust_fov_y_to_aspect_ratio | ( | real | aspect_ratio | ) |
| real mf::projection_view_frustum::aspect_ratio | ( | ) | const |
|
static |
Create with asymmetric perspective, given horizontal and vertical ranges of near clipping plane.
|
static |
Create with asymmetric perspective, given horizontal and vertical limit angles of field of view.
| bool mf::projection_view_frustum::is_symmetric | ( | ) | const |
| bool mf::projection_view_frustum::is_symmetric_x | ( | ) | const |
| bool mf::projection_view_frustum::is_symmetric_y | ( | ) | const |
|
inline |
|
static |
Create with symmetric perspective, given width and height of near clipping plane.
|
static |
Create with symmetric perspective, given horizontal and vertical field of view angles.
|
static |
Create with symmetric perspective, given horizontal field of view and image aspect ratio.
|
static |
Create with symmetric perspective, given vertical field of view and image aspect ratio.
1.8.6