1 /**************************************************************************** 2 * 3 * ViSP, open source Visual Servoing Platform software. 4 * Copyright (C) 2005 - 2019 by Inria. All rights reserved. 5 * 6 * This software is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * See the file LICENSE.txt at the root directory of this source 11 * distribution for additional information about the GNU GPL. 12 * 13 * For using ViSP with software that can not be combined with the GNU 14 * GPL, please contact Inria about acquiring a ViSP Professional 15 * Edition License. 16 * 17 * See http://visp.inria.fr for more information. 18 * 19 * This software was developed at: 20 * Inria Rennes - Bretagne Atlantique 21 * Campus Universitaire de Beaulieu 22 * 35042 Rennes Cedex 23 * France 24 * 25 * If you have questions regarding the use of this file, please contact 26 * Inria at visp@inria.fr 27 * 28 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 29 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 30 * 31 * Description: 32 * Exceptions that can be emited by the vpCalibration class and its derivates. 33 * 34 * Authors: 35 * Anthony Saunier 36 * 37 *****************************************************************************/ 38 39 #ifndef _vpCalibrationException_h_ 40 #define _vpCalibrationException_h_ 41 42 /* ------------------------------------------------------------------------- 43 */ 44 /* --- INCLUDE ------------------------------------------------------------- 45 */ 46 /* ------------------------------------------------------------------------- 47 */ 48 49 /* Classes standards. */ 50 // 51 #include <visp3/core/vpConfig.h> 52 #include <visp3/core/vpException.h> 53 54 #include <iostream> /* Classe std::ostream. */ 55 #include <string> /* Classe string. */ 56 57 /* ------------------------------------------------------------------------- 58 */ 59 /* --- CLASS --------------------------------------------------------------- 60 */ 61 /* ------------------------------------------------------------------------- 62 */ 63 64 /*! 65 66 \class vpCalibrationException 67 \brief Error that can be emited by the vpCalibration class. 68 */ 69 class VISP_EXPORT vpCalibrationException : public vpException 70 { 71 public: 72 /*! 73 \brief Lists the possible error than can be emmited while calling 74 vpCalibration member 75 */ 76 enum errorCodeEnum { 77 //! error returns by a constructor 78 constructionError, 79 //! something is not initialized 80 notInitializedError, 81 //! function not implemented 82 notImplementedError, 83 //! index out of range 84 outOfRangeError, 85 //! iterative algorithm doesn't converge 86 convergencyError, 87 forbiddenOperatorError, 88 }; 89 90 public: vpCalibrationException(int id,const char * format,...)91 vpCalibrationException(int id, const char *format, ...) 92 { 93 this->code = id; 94 va_list args; 95 va_start(args, format); 96 setMessage(format, args); 97 va_end(args); 98 } vpCalibrationException(int id,const std::string & msg)99 vpCalibrationException(int id, const std::string &msg) : vpException(id, msg) { ; } vpCalibrationException(int id)100 explicit vpCalibrationException(int id) : vpException(id) { ; } 101 }; 102 103 #endif 104