storage for 3 collinear points to serve as 1-D projective basis More...
#include <vgl/vgl_fwd.h>
#include <vgl/vgl_homg_point_1d.h>
#include <vcl_iosfwd.h>
#include <vcl_cassert.h>
Go to the source code of this file.
Classes | |
class | vgl_1d_basis< T > |
Storage for 3 collinear points to serve as 1-D projective basis. More... | |
Defines | |
#define | VGL_1D_BASIS_INSTANTIATE(T) extern "please include vgl/vgl_1d_basis.txx first" |
Functions | |
template<class T > | |
vcl_ostream & | operator<< (vcl_ostream &s, vgl_1d_basis< T > const &) |
Write "<vgl_1d_basis o u i> " to stream. |
storage for 3 collinear points to serve as 1-D projective basis
vgl_1d_basis<T> is a class templated on the point type that will be stored. Typically, T will be vgl_point_2d<double> or vgl_homg_point_2d<int> or even vgl_line_2d<float> or vgl_point_3d<T>.
This class stores three unequal collinear points and will use these to define a projection from e.g. 2d points on a line to a 1-dimensional projective space: the first point receives coordinates (0,1), the second one (1,0), and the third one (the unit point) coordinates (1,1).
Note that this class can also be used for ``projecting'' from e.g. vgl_homg_point_1d<float> or vgl_point_1d<int> to vgl_homg_point_1d<double>, i.e., a kind of type casting operation, by passing it the homogeneous points (0,1), (1,0) and (1,1). Note that the destination space is always vgl_homg_point_1d<double>.
The only conditions on template type T are the following:
These conditions are satisfied for the vgl_point_[23]d<Type> and vgl_homg_point_[123]d<Type> classes. For concurrent vgl_line_2d's the method project() has to be specialised (which is easily done by taking its intersection with the line at infinity!)
Modifications Feb.2002 - Peter Vanroose - brief doxygen comment placed on single line
Definition in file vgl_1d_basis.h.
#define VGL_1D_BASIS_INSTANTIATE | ( | T | ) | extern "please include vgl/vgl_1d_basis.txx first" |
Definition at line 139 of file vgl_1d_basis.h.
vcl_ostream & operator<< | ( | vcl_ostream & | s, |
vgl_1d_basis< T > const & | |||
) |
Write "<vgl_1d_basis o u i> " to stream.
Definition at line 40 of file vgl_1d_basis.txx.