00001
00002
00003 #ifndef HOMOGRAPHY_HOMOGRAPHY_EXCEPTION_HPP
00004 #define HOMOGRAPHY_HOMOGRAPHY_EXCEPTION_HPP
00005
00006 #include "kernel/jafarException.hpp"
00007
00008 namespace jafar {
00009
00010 namespace homography {
00011
00017 class HomographyException : public ::jafar::kernel::Exception {
00018
00019 public:
00020
00024 enum ExceptionId {
00025 NO_CONVERGENCE,
00026 OVERFLOW_EX,
00027 NULL_DET_HESSIAN
00028
00029 };
00030
00040 HomographyException(ExceptionId id_,
00041 const std::string& message_,
00042 const std::string& file_, int line_) throw();
00043
00044 virtual ~HomographyException() throw();
00045
00046 ExceptionId getExceptionId() const throw();
00047
00048 protected:
00049
00050 ExceptionId id;
00051
00052 static std::string exceptionIdToString(ExceptionId id_) throw();
00053
00054 };
00055
00056 }
00057 }
00058
00059 #endif // HOMOGRAPHY_HOMOGRAPHY_EXCEPTION_HPP
00060