contrib/oxl/mvl/HomgMap2D.h
Go to the documentation of this file.
00001 // This is oxl/mvl/HomgMap2D.h
00002 #ifndef HomgMap2D_h_
00003 #define HomgMap2D_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 //  \file
00009 // \brief General 2D projective map
00010 //
00011 //    HomgMap2D represents a mapping between two 2D spaces.
00012 //    It is used to represent a variety of such mappings, including
00013 //    camera calibration and numerical conditioning.
00014 //
00015 // \author
00016 //     Andrew W. Fitzgibbon, Oxford RRG, 06 Nov 96
00017 //-----------------------------------------------------------------------------
00018 
00019 #include "HomgPoint2D.h"
00020 
00021 class HomgMap2D
00022 {
00023  public:
00024   virtual ~HomgMap2D() = 0;
00025   //: Transform a point from space 1 to space 2.
00026   virtual HomgPoint2D transform(const HomgPoint2D& p) = 0;
00027   //: Transform a point from space 2 to space 1.
00028   virtual HomgPoint2D inverse_transform(const HomgPoint2D& p) = 0;
00029 };
00030 
00031 #endif // HomgMap2D_h_