Classes | Macros | Functions
vgl_homg_plane_3d.h File Reference

homogeneous plane in 3D projective space More...

#include <iosfwd>
#include <vgl/vgl_fwd.h>
#include <vgl/vgl_vector_3d.h>
#include <cassert>

Go to the source code of this file.

Classes

class  vgl_homg_plane_3d< Type >
 Represents a homogeneous 3D plane. More...
 

Macros

#define vgl_Abs(x)   ((x)<0?-(x):(x))
 
#define VGL_HOMG_PLANE_3D_INSTANTIATE(T)   extern "please include vgl/vgl_homg_plane_3d.hxx first"
 

Functions

template<class Type >
bool is_ideal (vgl_homg_plane_3d< Type > const &p, Type tol=(Type) 0)
 Return true iff p is the plane at infinity. More...
 
template<class Type >
std::ostream & operator<< (std::ostream &s, const vgl_homg_plane_3d< Type > &p)
 
template<class Type >
std::istream & operator>> (std::istream &is, vgl_homg_plane_3d< Type > &p)
 

Detailed Description

homogeneous plane in 3D projective space

Author
Don HAMILTON Peter TU
  Modifications
   Peter Vanroose  6 July 2001: Now using vgl_vector_3d for normal direction
   Peter Vanroose  6 July 2001: Added normal(); replaced data_[4] by a_ b_ c_ d_
   Peter Vanroose  6 July 2001: Added constructor from 3 points
   CJB (Manchester) 16/03/2001: Tidied up the documentation
   Peter Vanroose 15 July 2002: Added constructor from two concurrent lines
   cbw (imorphics) 31 Mar 2008: Corrected constructor with normal and point (negated d) and added test
   Peter Vanroose 7 March 2009: Added normalize(), similar to the one in vgl_homg_line_2d<T>

Definition in file vgl_homg_plane_3d.h.

Macro Definition Documentation

◆ vgl_Abs

#define vgl_Abs (   x)    ((x)<0?-(x):(x))

◆ VGL_HOMG_PLANE_3D_INSTANTIATE

#define VGL_HOMG_PLANE_3D_INSTANTIATE (   T)    extern "please include vgl/vgl_homg_plane_3d.hxx first"

Definition at line 116 of file vgl_homg_plane_3d.h.

Function Documentation

◆ is_ideal()

template<class Type >
bool is_ideal ( vgl_homg_plane_3d< Type > const &  p,
Type  tol = (Type)0 
)
inline

Return true iff p is the plane at infinity.

The method checks that max(|a|,|b|,|c|) <= tol * |d|

Definition at line 106 of file vgl_homg_plane_3d.h.

◆ operator<<()

template<class Type >
std::ostream& operator<< ( std::ostream &  s,
const vgl_homg_plane_3d< Type > &  p 
)

Definition at line 98 of file vgl_homg_plane_3d.hxx.

◆ operator>>()

template<class Type >
std::istream& operator>> ( std::istream &  is,
vgl_homg_plane_3d< Type > &  p 
)

Definition at line 108 of file vgl_homg_plane_3d.hxx.