Classes | Macros | Functions
vgl_p_matrix.h File Reference

General 3x4 perspective projection matrix. More...

#include <iosfwd>
#include <vnl/algo/vnl_algo_fwd.h>
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_vector.h>
#include <vnl/vnl_matrix_fixed.h>
#include <vnl/vnl_vector_fixed.h>
#include <vgl/vgl_homg_point_2d.h>
#include <vgl/vgl_homg_point_3d.h>
#include <vgl/vgl_homg_line_2d.h>
#include <vgl/vgl_homg_line_3d_2_points.h>
#include <vgl/vgl_line_segment_2d.h>
#include <vgl/vgl_line_segment_3d.h>
#include <vgl/algo/vgl_homg_operators_3d.h>
#include <vgl/algo/vgl_h_matrix_3d.h>

Go to the source code of this file.

Classes

class  vgl_p_matrix< T >
 

Macros

#define VGL_P_MATRIX_INSTANTIATE(T)   extern "please include vgl/algo/vgl_p_matrix.hxx first"
 

Functions

template<class T >
vgl_p_matrix< T > operator * (const vgl_p_matrix< T > &P, const vgl_h_matrix_3d< T > &H)
 Postmultiply P-matrix P by 3D H-matrix H. More...
 
template<class T >
std::ostream & operator<< (std::ostream &s, const vgl_p_matrix< T > &p)
 Print p on an ostream. More...
 
template<class T >
std::istream & operator>> (std::istream &i, vgl_p_matrix< T > &p)
 Load p from an ascii istream. More...
 

Detailed Description

General 3x4 perspective projection matrix.

A class to hold a perspective projection matrix and use it to perform common operations e.g. projecting point in 3d space to its image on the image plane

  Modifications
   01 Jul 1996 AWF Implemented get_focal_point()
   01 Oct 1996 AWF Added caching vnl_svd<double>
   26 Feb 1997 AWF Converted to use vnl_double_3x4
   11 Mar 1997 PVr - Added operator==
   22 Oct 2002 Peter Vanroose - added vgl_homg_point_2d interface
   23 Oct 2002 Peter Vanroose - using fixed 3x4 matrices throughout
   25 May 2003 J.L.M. converted to pure vgl infrastructure and made templated
   25 May 2003 J.L.M. made the interface more consistent with plane projective transformations
   27 Jun 2003 Peter Vanroose - moved doc from .hxx to .h
   27 Jun 2003 Peter Vanroose - implemented 3 NYI methods (get, set, set_rows)
   24 Oct 2010 Peter Vanroose - mutators and setters now return *this

Definition in file vgl_p_matrix.h.

Macro Definition Documentation

◆ VGL_P_MATRIX_INSTANTIATE

#define VGL_P_MATRIX_INSTANTIATE (   T)    extern "please include vgl/algo/vgl_p_matrix.hxx first"

Definition at line 212 of file vgl_p_matrix.h.

Function Documentation

◆ operator *()

template<class T >
vgl_p_matrix<T> operator * ( const vgl_p_matrix< T > &  P,
const vgl_h_matrix_3d< T > &  H 
)

Postmultiply P-matrix P by 3D H-matrix H.

Definition at line 249 of file vgl_p_matrix.hxx.

◆ operator<<()

template<class T >
std::ostream& operator<< ( std::ostream &  s,
const vgl_p_matrix< T > &  p 
)

Print p on an ostream.

Definition at line 137 of file vgl_p_matrix.hxx.

◆ operator>>()

template<class T >
std::istream& operator>> ( std::istream &  i,
vgl_p_matrix< T > &  p 
)

Load p from an ascii istream.

Definition at line 144 of file vgl_p_matrix.hxx.