Line data Source code
1 : 2 : /* 3 : * ALMA - Atacama Large Millimeter Array 4 : * (c) European Southern Observatory, 2002 5 : * (c) Associated Universities Inc., 2002 6 : * Copyright by ESO (in the framework of the ALMA collaboration), 7 : * Copyright by AUI (in the framework of the ALMA collaboration), 8 : * All rights reserved. 9 : * 10 : * This library is free software; you can redistribute it and/or 11 : * modify it under the terms of the GNU Lesser General Public 12 : * License as published by the Free software Foundation; either 13 : * version 2.1 of the License, or (at your option) any later version. 14 : * 15 : * This library is distributed in the hope that it will be useful, 16 : * but WITHOUT ANY WARRANTY, without even the implied warranty of 17 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 : * Lesser General Public License for more details. 19 : * 20 : * You should have received a copy of the GNU Lesser General Public 21 : * License along with this library; if not, write to the Free Software 22 : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 23 : * MA 02111-1307 USA 24 : * 25 : * ///////////////////////////////////////////////////////////////// 26 : * // WARNING! DO NOT MODIFY THIS FILE! // 27 : * // --------------------------------------------------------- // 28 : * // | This is generated code! Do not modify this file. | // 29 : * // | Any changes will be lost when the file is re-generated. | // 30 : * // --------------------------------------------------------- // 31 : * ///////////////////////////////////////////////////////////////// 32 : * 33 : * File CAntennaMotionPattern.cpp 34 : */ 35 : #include <sstream> 36 : #include <alma/Enumerations/CAntennaMotionPattern.h> 37 : #include <string> 38 : using namespace std; 39 : 40 0 : int CAntennaMotionPattern::version() { 41 0 : return AntennaMotionPatternMod::version; 42 : } 43 : 44 0 : string CAntennaMotionPattern::revision () { 45 0 : return AntennaMotionPatternMod::revision; 46 : } 47 : 48 0 : unsigned int CAntennaMotionPattern::size() { 49 0 : return 11; 50 : } 51 : 52 : 53 : const std::string& CAntennaMotionPattern::sNONE = "NONE"; 54 : 55 : const std::string& CAntennaMotionPattern::sCROSS_SCAN = "CROSS_SCAN"; 56 : 57 : const std::string& CAntennaMotionPattern::sSPIRAL = "SPIRAL"; 58 : 59 : const std::string& CAntennaMotionPattern::sCIRCLE = "CIRCLE"; 60 : 61 : const std::string& CAntennaMotionPattern::sTHREE_POINTS = "THREE_POINTS"; 62 : 63 : const std::string& CAntennaMotionPattern::sFOUR_POINTS = "FOUR_POINTS"; 64 : 65 : const std::string& CAntennaMotionPattern::sFIVE_POINTS = "FIVE_POINTS"; 66 : 67 : const std::string& CAntennaMotionPattern::sTEST = "TEST"; 68 : 69 : const std::string& CAntennaMotionPattern::sUNSPECIFIED = "UNSPECIFIED"; 70 : 71 : const std::string& CAntennaMotionPattern::sSTAR = "STAR"; 72 : 73 : const std::string& CAntennaMotionPattern::sLISSAJOUS = "LISSAJOUS"; 74 : 75 0 : const std::vector<std::string> CAntennaMotionPattern::names() { 76 0 : std::vector<std::string> enumSet; 77 : 78 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sNONE); 79 : 80 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sCROSS_SCAN); 81 : 82 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sSPIRAL); 83 : 84 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sCIRCLE); 85 : 86 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sTHREE_POINTS); 87 : 88 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sFOUR_POINTS); 89 : 90 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sFIVE_POINTS); 91 : 92 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sTEST); 93 : 94 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sUNSPECIFIED); 95 : 96 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sSTAR); 97 : 98 0 : enumSet.insert(enumSet.end(), CAntennaMotionPattern::sLISSAJOUS); 99 : 100 0 : return enumSet; 101 : } 102 : 103 0 : std::string CAntennaMotionPattern::name(const AntennaMotionPatternMod::AntennaMotionPattern& f) { 104 0 : switch (f) { 105 : 106 0 : case AntennaMotionPatternMod::NONE: 107 0 : return CAntennaMotionPattern::sNONE; 108 : 109 0 : case AntennaMotionPatternMod::CROSS_SCAN: 110 0 : return CAntennaMotionPattern::sCROSS_SCAN; 111 : 112 0 : case AntennaMotionPatternMod::SPIRAL: 113 0 : return CAntennaMotionPattern::sSPIRAL; 114 : 115 0 : case AntennaMotionPatternMod::CIRCLE: 116 0 : return CAntennaMotionPattern::sCIRCLE; 117 : 118 0 : case AntennaMotionPatternMod::THREE_POINTS: 119 0 : return CAntennaMotionPattern::sTHREE_POINTS; 120 : 121 0 : case AntennaMotionPatternMod::FOUR_POINTS: 122 0 : return CAntennaMotionPattern::sFOUR_POINTS; 123 : 124 0 : case AntennaMotionPatternMod::FIVE_POINTS: 125 0 : return CAntennaMotionPattern::sFIVE_POINTS; 126 : 127 0 : case AntennaMotionPatternMod::TEST: 128 0 : return CAntennaMotionPattern::sTEST; 129 : 130 0 : case AntennaMotionPatternMod::UNSPECIFIED: 131 0 : return CAntennaMotionPattern::sUNSPECIFIED; 132 : 133 0 : case AntennaMotionPatternMod::STAR: 134 0 : return CAntennaMotionPattern::sSTAR; 135 : 136 0 : case AntennaMotionPatternMod::LISSAJOUS: 137 0 : return CAntennaMotionPattern::sLISSAJOUS; 138 : 139 : } 140 : // Impossible siutation but....who knows with C++ enums 141 0 : throw badInt((int) f); 142 : } 143 : 144 2361 : AntennaMotionPatternMod::AntennaMotionPattern CAntennaMotionPattern::newAntennaMotionPattern(const std::string& name) { 145 : 146 2361 : if (name == CAntennaMotionPattern::sNONE) { 147 1677 : return AntennaMotionPatternMod::NONE; 148 : } 149 : 150 684 : if (name == CAntennaMotionPattern::sCROSS_SCAN) { 151 48 : return AntennaMotionPatternMod::CROSS_SCAN; 152 : } 153 : 154 636 : if (name == CAntennaMotionPattern::sSPIRAL) { 155 0 : return AntennaMotionPatternMod::SPIRAL; 156 : } 157 : 158 636 : if (name == CAntennaMotionPattern::sCIRCLE) { 159 0 : return AntennaMotionPatternMod::CIRCLE; 160 : } 161 : 162 636 : if (name == CAntennaMotionPattern::sTHREE_POINTS) { 163 0 : return AntennaMotionPatternMod::THREE_POINTS; 164 : } 165 : 166 636 : if (name == CAntennaMotionPattern::sFOUR_POINTS) { 167 0 : return AntennaMotionPatternMod::FOUR_POINTS; 168 : } 169 : 170 636 : if (name == CAntennaMotionPattern::sFIVE_POINTS) { 171 60 : return AntennaMotionPatternMod::FIVE_POINTS; 172 : } 173 : 174 576 : if (name == CAntennaMotionPattern::sTEST) { 175 0 : return AntennaMotionPatternMod::TEST; 176 : } 177 : 178 576 : if (name == CAntennaMotionPattern::sUNSPECIFIED) { 179 576 : return AntennaMotionPatternMod::UNSPECIFIED; 180 : } 181 : 182 0 : if (name == CAntennaMotionPattern::sSTAR) { 183 0 : return AntennaMotionPatternMod::STAR; 184 : } 185 : 186 0 : if (name == CAntennaMotionPattern::sLISSAJOUS) { 187 0 : return AntennaMotionPatternMod::LISSAJOUS; 188 : } 189 : 190 0 : throw badString(name); 191 : } 192 : 193 0 : AntennaMotionPatternMod::AntennaMotionPattern CAntennaMotionPattern::literal(const std::string& name) { 194 : 195 0 : if (name == CAntennaMotionPattern::sNONE) { 196 0 : return AntennaMotionPatternMod::NONE; 197 : } 198 : 199 0 : if (name == CAntennaMotionPattern::sCROSS_SCAN) { 200 0 : return AntennaMotionPatternMod::CROSS_SCAN; 201 : } 202 : 203 0 : if (name == CAntennaMotionPattern::sSPIRAL) { 204 0 : return AntennaMotionPatternMod::SPIRAL; 205 : } 206 : 207 0 : if (name == CAntennaMotionPattern::sCIRCLE) { 208 0 : return AntennaMotionPatternMod::CIRCLE; 209 : } 210 : 211 0 : if (name == CAntennaMotionPattern::sTHREE_POINTS) { 212 0 : return AntennaMotionPatternMod::THREE_POINTS; 213 : } 214 : 215 0 : if (name == CAntennaMotionPattern::sFOUR_POINTS) { 216 0 : return AntennaMotionPatternMod::FOUR_POINTS; 217 : } 218 : 219 0 : if (name == CAntennaMotionPattern::sFIVE_POINTS) { 220 0 : return AntennaMotionPatternMod::FIVE_POINTS; 221 : } 222 : 223 0 : if (name == CAntennaMotionPattern::sTEST) { 224 0 : return AntennaMotionPatternMod::TEST; 225 : } 226 : 227 0 : if (name == CAntennaMotionPattern::sUNSPECIFIED) { 228 0 : return AntennaMotionPatternMod::UNSPECIFIED; 229 : } 230 : 231 0 : if (name == CAntennaMotionPattern::sSTAR) { 232 0 : return AntennaMotionPatternMod::STAR; 233 : } 234 : 235 0 : if (name == CAntennaMotionPattern::sLISSAJOUS) { 236 0 : return AntennaMotionPatternMod::LISSAJOUS; 237 : } 238 : 239 0 : throw badString(name); 240 : } 241 : 242 0 : AntennaMotionPatternMod::AntennaMotionPattern CAntennaMotionPattern::from_int(unsigned int i) { 243 0 : vector<string> names_ = names(); 244 0 : if (i >= names_.size()) throw badInt(i); 245 0 : return newAntennaMotionPattern(names_.at(i)); 246 : } 247 : 248 0 : string CAntennaMotionPattern::badString(const string& name) { 249 0 : return "'"+name+"' does not correspond to any literal in the enumeration 'AntennaMotionPattern'."; 250 : } 251 : 252 0 : string CAntennaMotionPattern::badInt(unsigned int i) { 253 0 : ostringstream oss ; 254 0 : oss << "'" << i << "' is out of range for the enumeration 'AntennaMotionPattern'."; 255 0 : return oss.str(); 256 : } 257 : 258 : namespace AntennaMotionPatternMod { 259 0 : std::ostream & operator << ( std::ostream & out, const AntennaMotionPattern& value) { 260 0 : out << CAntennaMotionPattern::name(value); 261 0 : return out; 262 : } 263 : 264 0 : std::istream & operator >> ( std::istream & in , AntennaMotionPattern& value ) { 265 0 : in.clear(); 266 0 : string s ; 267 0 : in >> s; 268 : try { 269 0 : value = CAntennaMotionPattern::literal(s); 270 : } 271 0 : catch (string & m) { 272 0 : in.setstate(ios::failbit); 273 : } 274 0 : return in; 275 : } 276 : } 277 :