00001 
00002 
00003 #ifndef FACETSMAP_FACETSMAP_EXCEPTION_HPP
00004 #define FACETSMAP_FACETSMAP_EXCEPTION_HPP
00005 
00006 #include "kernel/jafarException.hpp"
00007 
00008 namespace jafar {
00009 
00010   namespace facetsmap {
00011 
00017     class FacetsmapException : public jafar::kernel::Exception {
00018 
00019     public:
00020 
00024       enum ExceptionId {
00025         BAD_HOMOGRAPHY, 
00026         TOO_FAR, 
00027         INVALID_DISP, 
00028         NOT_IMPLEMENTED
00029       };
00030 
00040       FacetsmapException(ExceptionId id_, 
00041                             const std::string& message_, 
00042                             const std::string& file_, int line_) throw();
00043 
00044       virtual ~FacetsmapException() 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 // FACETSMAP_FACETSMAP_EXCEPTION_HPP
00060