Macros | Functions
vgl_homg_operators_3d.hxx File Reference
#include <iostream>
#include <vector>
#include <cmath>
#include "vgl_homg_operators_3d.h"
#include <cassert>
#include <vnl/vnl_vector_fixed.h>
#include <vnl/vnl_matrix_fixed.h>
#include <vnl/vnl_matrix.h>
#include <vnl/algo/vnl_svd.h>
#include <vgl/vgl_homg_point_3d.h>
#include <vgl/vgl_homg_plane_3d.h>
#include <vgl/vgl_homg_line_2d.h>
#include <vgl/vgl_homg_point_2d.h>

Go to the source code of this file.

Macros

#define dot(p, q)   ((p).a()*(q).x()+(p).b()*(q).y()+(p).c()*(q).z()+(p).d()*(q).w())
 
#define VGL_HOMG_OPERATORS_3D_INSTANTIATE(T)
 

Functions

template<class T >
vgl_homg_point_3d< T > operator * (vnl_matrix_fixed< T, 4, 4 > const &m, vgl_homg_point_3d< T > const &p)
 Homographic transformation of a 3D point through a 4x4 projective transformation matrix. More...
 
template<class T >
vgl_homg_plane_3d< T > operator * (vnl_matrix_fixed< T, 4, 4 > const &m, vgl_homg_plane_3d< T > const &p)
 Homographic transformation of a 3D plane through a 4x4 projective transformation matrix. More...
 
template<class T >
vgl_homg_point_2d< T > operator * (vnl_matrix_fixed< T, 3, 4 > const &m, vgl_homg_point_3d< T > const &p)
 Project a 3D point to 2D through a 3x4 projective transformation matrix. More...
 
template<class T >
vgl_homg_plane_3d< T > operator * (vnl_matrix_fixed< T, 4, 3 > const &m, vgl_homg_line_2d< T > const &l)
 Backproject a 2D line through a 4x3 projective transformation matrix. More...
 

Macro Definition Documentation

◆ dot

#define dot (   p,
 
)    ((p).a()*(q).x()+(p).b()*(q).y()+(p).c()*(q).z()+(p).d()*(q).w())

◆ VGL_HOMG_OPERATORS_3D_INSTANTIATE

#define VGL_HOMG_OPERATORS_3D_INSTANTIATE (   T)
Value:
template class vgl_homg_operators_3d<T >; \
template vgl_homg_point_3d<T > operator*(vnl_matrix_fixed<T,4,4> const&,\
template vgl_homg_plane_3d<T > operator*(vnl_matrix_fixed<T,4,4> const&,\
template vgl_homg_point_2d<T > operator*(vnl_matrix_fixed<T,3,4> const&,\
template vgl_homg_plane_3d<T > operator*(vnl_matrix_fixed<T,4,3> const&,\
3D homogeneous operations.
Definition: vgl_algo_fwd.h:29
Represents a homogeneous 2D line.
Definition: vgl_fwd.h:14
Represents a homogeneous 3D point.
Definition: vgl_fwd.h:9
vgl_homg_point_1d< T > operator *(vnl_matrix_fixed< T, 2, 2 > const &m, vgl_homg_point_1d< T > const &p)
Transform a point through a 2x2 projective transformation matrix.
Represents a homogeneous 2D point.
Definition: vgl_fwd.h:8

Definition at line 548 of file vgl_homg_operators_3d.hxx.

Function Documentation

◆ operator *() [1/4]

template<class T >
vgl_homg_point_3d<T> operator * ( vnl_matrix_fixed< T, 4, 4 > const &  m,
vgl_homg_point_3d< T > const &  p 
)

Homographic transformation of a 3D point through a 4x4 projective transformation matrix.

Definition at line 506 of file vgl_homg_operators_3d.hxx.

◆ operator *() [2/4]

template<class T >
vgl_homg_plane_3d<T> operator * ( vnl_matrix_fixed< T, 4, 4 > const &  m,
vgl_homg_plane_3d< T > const &  p 
)

Homographic transformation of a 3D plane through a 4x4 projective transformation matrix.

Definition at line 517 of file vgl_homg_operators_3d.hxx.

◆ operator *() [3/4]

template<class T >
vgl_homg_point_2d<T> operator * ( vnl_matrix_fixed< T, 3, 4 > const &  m,
vgl_homg_point_3d< T > const &  p 
)

Project a 3D point to 2D through a 3x4 projective transformation matrix.

Definition at line 528 of file vgl_homg_operators_3d.hxx.

◆ operator *() [4/4]

template<class T >
vgl_homg_plane_3d<T> operator * ( vnl_matrix_fixed< T, 4, 3 > const &  m,
vgl_homg_line_2d< T > const &  l 
)

Backproject a 2D line through a 4x3 projective transformation matrix.

Definition at line 538 of file vgl_homg_operators_3d.hxx.