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 * Error that can be emited by the vpPose class and its derivates 33 * 34 * Authors: 35 * Eric Marchand 36 * 37 *****************************************************************************/ 38 39 #ifndef _vpPoseException_h_ 40 #define _vpPoseException_h_ 41 42 /* ------------------------------------------------------------------------- 43 */ 44 /* --- INCLUDE ------------------------------------------------------------- 45 */ 46 /* ------------------------------------------------------------------------- 47 */ 48 49 /* Classes standards. */ 50 51 #include <visp3/core/vpException.h> 52 53 #include <iostream> /* Classe std::ostream. */ 54 #include <string> /* Classe string. */ 55 56 /* ------------------------------------------------------------------------- 57 */ 58 /* --- CLASS --------------------------------------------------------------- 59 */ 60 /* ------------------------------------------------------------------------- 61 */ 62 63 /*! 64 \class vpPoseException 65 \ingroup group_vision_pose 66 \brief Error that can be emited by the vpPose class and its derivates. 67 */ 68 class VISP_EXPORT vpPoseException : public vpException 69 { 70 public: 71 /*! 72 \brief Lists the possible error than can be emmited while calling 73 vpPose member 74 */ 75 enum errorCodeEnum { 76 poseError, 77 //! something is not initialized 78 notInitializedError, 79 //! function not implemented 80 notImplementedERR, 81 //! index out of range 82 outOfRangeError, 83 notEnoughPointError 84 }; 85 86 public: vpPoseException(int id,const char * format,...)87 vpPoseException(int id, const char *format, ...) 88 { 89 this->code = id; 90 va_list args; 91 va_start(args, format); 92 setMessage(format, args); 93 va_end(args); 94 } vpPoseException(int id,const std::string & msg)95 vpPoseException(int id, const std::string &msg) : vpException(id, msg) { ; } vpPoseException(int id)96 explicit vpPoseException(int id) : vpException(id) { ; } 97 // vpPoseException() : vpException() { ;} 98 }; 99 100 #endif 101