1 // This is oxl/mvl/HomgMap2D.h 2 #ifndef HomgMap2D_h_ 3 #define HomgMap2D_h_ 4 //: 5 // \file 6 // \brief General 2D projective map 7 // 8 // HomgMap2D represents a mapping between two 2D spaces. 9 // It is used to represent a variety of such mappings, including 10 // camera calibration and numerical conditioning. 11 // 12 // \author 13 // Andrew W. Fitzgibbon, Oxford RRG, 06 Nov 96 14 //----------------------------------------------------------------------------- 15 16 #include "HomgPoint2D.h" 17 18 class HomgMap2D 19 { 20 public: 21 virtual ~HomgMap2D() = 0; 22 //: Transform a point from space 1 to space 2. 23 virtual HomgPoint2D transform(const HomgPoint2D& p) = 0; 24 //: Transform a point from space 2 to space 1. 25 virtual HomgPoint2D inverse_transform(const HomgPoint2D& p) = 0; 26 }; 27 28 #endif // HomgMap2D_h_ 29