mf
Media Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
mf::view_frustum Class Reference

View frustum of a perspective camera. More...

#include <view_frustum.h>

Inheritance diagram for mf::view_frustum:
mf::projection_view_frustum

Public Types

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_projective3view_projection_transformation () const
 
const depth_projection_parametersdepth_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 intersection contains (const planes_array &, const bounding_box &)
 

Protected Member Functions

 view_frustum (const Eigen_mat4 &mat, const depth_projection_parameters &dparam)
 
 view_frustum ()=delete
 
Eigen_mat4matrix_ ()
 
const Eigen_mat4matrix_ () const
 

Detailed Description

View frustum of a perspective camera.

Represented using 4x4 view-projection matrix, with additional information about convention used. Includes the affine world to view transformation. Can be constructed only as projection_view_frustum (which does not include this view transformation), and can then be transformed using transform().

Member Typedef Documentation

using mf::view_frustum::edges_array = std::array<edge, 12>

Member Enumeration Documentation

Enumerator
outside_frustum 
inside_frustum 
partially_inside_frustum 

Constructor & Destructor Documentation

mf::view_frustum::view_frustum ( const Eigen_mat4 mat,
const depth_projection_parameters dparam 
)
protected
mf::view_frustum::view_frustum ( )
protecteddelete

Member Function Documentation

Eigen_hyperplane3 mf::view_frustum::bottom_plane ( ) const
bool mf::view_frustum::contains ( const Eigen_vec3 world_point,
bool  consider_z_planes = true 
) const
auto mf::view_frustum::contains ( const bounding_box box) const
auto mf::view_frustum::contains ( const planes_array fr_planes,
const bounding_box box 
)
static
auto mf::view_frustum::corners ( ) const
const depth_projection_parameters& mf::view_frustum::depth_parameters ( ) const
inline
auto mf::view_frustum::edges ( ) const
Eigen_hyperplane3 mf::view_frustum::far_plane ( ) const
Eigen_hyperplane3 mf::view_frustum::left_plane ( ) const
Eigen_mat4& mf::view_frustum::matrix_ ( )
inlineprotected
const Eigen_mat4& mf::view_frustum::matrix_ ( ) const
inlineprotected
Eigen_hyperplane3 mf::view_frustum::near_plane ( ) const
auto mf::view_frustum::planes ( ) const
Eigen_hyperplane3 mf::view_frustum::right_plane ( ) const
Eigen_hyperplane3 mf::view_frustum::top_plane ( ) const
view_frustum mf::view_frustum::transform ( const Eigen_affine3 trans) const
const Eigen_projective3& mf::view_frustum::view_projection_transformation ( ) const
inline

The documentation for this class was generated from the following files: