Changeset 9224 for code/branches/testing
- Timestamp:
- May 19, 2012, 3:03:02 PM (13 years ago)
- Location:
- code/branches/testing
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/testing/src/libraries/core/CommandLineParser.cc
r9222 r9224 69 69 else 70 70 { 71 if (!value_.set Value(value))72 { 73 value_.set Value(defaultValue_);71 if (!value_.set(value)) 72 { 73 value_.set(defaultValue_); 74 74 ThrowException(Argument, "Could not read command line argument '" + getName() + "'."); 75 75 } -
code/branches/testing/src/libraries/core/CommandLineParser.h
r9222 r9224 200 200 inline void CommandLineParser::getValue<std::string>(const std::string& name, std::string* value) 201 201 { 202 *value = getArgument(name)->getValue().get String();202 *value = getArgument(name)->getValue().get<std::string>(); 203 203 } 204 204 … … 217 217 OrxAssert(!_getInstance().existsArgument(name), 218 218 "Cannot add a command line argument with name '" + name + "' twice."); 219 OrxAssert(!MultiType(defaultValue).isType<bool>() || MultiType(defaultValue).get Bool() != true,219 OrxAssert(!MultiType(defaultValue).isType<bool>() || MultiType(defaultValue).get<bool>() != true, 220 220 "Boolean command line arguments with positive default values are not supported." << endl 221 221 << "Please use SetCommandLineSwitch and adjust your argument: " << name); -
code/branches/testing/src/libraries/core/ConfigValueContainer.cc
r9222 r9224 70 70 this->bIsVector_ = false; 71 71 72 this->defvalueString_ = this->value_.get String();72 this->defvalueString_ = this->value_.get<std::string>(); 73 73 this->update(); 74 74 } -
code/branches/testing/src/libraries/core/Core.cc
r8858 r9224 167 167 this->configFileManager_ = new ConfigFileManager(); 168 168 this->configFileManager_->setFilename(ConfigFileType::Settings, 169 CommandLineParser::getValue("settingsFile").get String());169 CommandLineParser::getValue("settingsFile").get<std::string>()); 170 170 171 171 // Required as well for the config values … … 184 184 #if !defined(ORXONOX_PLATFORM_APPLE) && !defined(ORXONOX_USE_WINMAIN) 185 185 // Create persistent IO console 186 if (CommandLineParser::getValue("noIOConsole").get Bool())186 if (CommandLineParser::getValue("noIOConsole").get<bool>()) 187 187 { 188 188 ModifyConfigValue(bStartIOConsole_, tset, false); … … 337 337 { 338 338 orxout(internal_info) << "loading graphics in Core" << endl; 339 339 340 340 // Any exception should trigger this, even in upgradeToGraphics (see its remarks) 341 341 Loki::ScopeGuard unloader = Loki::MakeObjGuard(*this, &Core::unloadGraphics); -
code/branches/testing/src/libraries/core/PathConfig.cc
r8858 r9224 188 188 // Check for data path override by the command line 189 189 if (!CommandLineParser::getArgument("externalDataPath")->hasDefaultValue()) 190 externalDataPath_ = CommandLineParser::getValue("externalDataPath").get String();190 externalDataPath_ = CommandLineParser::getValue("externalDataPath").get<std::string>(); 191 191 else 192 192 externalDataPath_ = specialConfig::externalDataDevDirectory; … … 227 227 if (!CommandLineParser::getArgument("writingPathSuffix")->hasDefaultValue()) 228 228 { 229 const std::string& directory(CommandLineParser::getValue("writingPathSuffix").get String());229 const std::string& directory(CommandLineParser::getValue("writingPathSuffix").get<std::string>()); 230 230 configPath_ = configPath_ / directory; 231 231 logPath_ = logPath_ / directory; -
code/branches/testing/src/libraries/core/command/CommandEvaluation.cc
r9222 r9224 600 600 // print the default value if available 601 601 if (command->getExecutor()->defaultValueSet(i)) 602 output += '=' + command->getExecutor()->getDefaultValue(i).get String() + ']';602 output += '=' + command->getExecutor()->getDefaultValue(i).get<std::string>() + ']'; 603 603 else 604 604 output += '}'; -
code/branches/testing/src/libraries/core/command/CommandExecutor.cc
r9222 r9224 133 133 /* static */ std::string CommandExecutor::query(const std::string& command, int* error, bool useTcl) 134 134 { 135 return CommandExecutor::queryMT(command, error, useTcl).get String();135 return CommandExecutor::queryMT(command, error, useTcl).get<std::string>(); 136 136 } 137 137 -
code/branches/testing/src/libraries/core/command/TclBind.cc
r8858 r9224 183 183 184 184 if (bQuery) 185 result = evaluation.query(&error).get String();185 result = evaluation.query(&error).get<std::string>(); 186 186 else 187 187 error = evaluation.execute(); -
code/branches/testing/src/libraries/network/Client.cc
r8858 r9224 68 68 timeSinceLastUpdate_(0) 69 69 { 70 this->setDestination( CommandLineParser::getValue("dest").get String(), CommandLineParser::getValue("port") );70 this->setDestination( CommandLineParser::getValue("dest").get<std::string>(), CommandLineParser::getValue("port") ); 71 71 } 72 72 -
code/branches/testing/src/libraries/tools/Shader.cc
r9222 r9224 205 205 // change the value of the parameter depending on its type 206 206 if (it->value_.isType<int>()) 207 passPtr->getFragmentProgramParameters()->setNamedConstant(it->parameter_, it->value_.get Int());207 passPtr->getFragmentProgramParameters()->setNamedConstant(it->parameter_, it->value_.get<int>()); 208 208 else if (it->value_.isType<float>()) 209 passPtr->getFragmentProgramParameters()->setNamedConstant(it->parameter_, it->value_.get Float());209 passPtr->getFragmentProgramParameters()->setNamedConstant(it->parameter_, it->value_.get<float>()); 210 210 } 211 211 else -
code/branches/testing/src/libraries/util/MultiType.h
r9223 r9224 297 297 inline MultiType(const orxonox::Degree& value) : value_(0) { this->assignValue(value); } ///< Constructor: Assigns the given value and sets the type. 298 298 inline MultiType(const orxonox::mbool& value) : value_(0) { this->assignValue((bool)value); } ///< Constructor: Assigns the given mbool and converts it to bool. 299 inline MultiType(const char* value) : value_(0) { this->set Value(std::string(value)); }///< Constructor: Converts the char array to a std::string, assigns the value and sets the type.300 inline MultiType(const MultiType& other) : value_(0) { this->set Value(other); }///< Copyconstructor: Assigns value and type of the other MultiType.299 inline MultiType(const char* value) : value_(0) { this->set(std::string(value)); } ///< Constructor: Converts the char array to a std::string, assigns the value and sets the type. 300 inline MultiType(const MultiType& other) : value_(0) { this->set(other); } ///< Copyconstructor: Assigns value and type of the other MultiType. 301 301 302 302 /// Destructor: Deletes the MT_Value. 303 303 inline ~MultiType() { if (this->value_) { delete this->value_; } } 304 304 305 template <typename V> inline MultiType& operator=(const V& value) { this->set Value(value); return (*this); } ///< Assigns a new value. The value will be converted to the current type of the MultiType.306 template <typename V> inline MultiType& operator=(V* value) { this->set Value(value); return (*this); } ///< Assigns a pointer.307 inline MultiType& operator=(const MultiType& other) { this->set Value(other); return (*this); } ///< Assigns the value of the other MultiType and converts it to the current type of the MultiType.308 309 inline bool set Value(const char& value);310 inline bool set Value(const unsigned char& value);311 inline bool set Value(const short& value);312 inline bool set Value(const unsigned short& value);313 inline bool set Value(const int& value);314 inline bool set Value(const unsigned int& value);315 inline bool set Value(const long& value);316 inline bool set Value(const unsigned long& value);317 inline bool set Value(const long long& value);318 inline bool set Value(const unsigned long long& value);319 inline bool set Value(const float& value);320 inline bool set Value(const double& value);321 inline bool set Value(const long double& value);322 inline bool set Value(const bool& value);323 inline bool set Value( void* const& value);324 inline bool set Value(const std::string& value);325 inline bool set Value(const orxonox::Vector2& value);326 inline bool set Value(const orxonox::Vector3& value);327 inline bool set Value(const orxonox::Vector4& value);328 inline bool set Value(const orxonox::ColourValue& value);329 inline bool set Value(const orxonox::Quaternion& value);330 inline bool set Value(const orxonox::Radian& value);331 inline bool set Value(const orxonox::Degree& value);332 inline bool set Value(const char* value);305 template <typename V> inline MultiType& operator=(const V& value) { this->set(value); return (*this); } ///< Assigns a new value. The value will be converted to the current type of the MultiType. 306 template <typename V> inline MultiType& operator=(V* value) { this->set(value); return (*this); } ///< Assigns a pointer. 307 inline MultiType& operator=(const MultiType& other) { this->set(other); return (*this); } ///< Assigns the value of the other MultiType and converts it to the current type of the MultiType. 308 309 inline bool set(const char& value); 310 inline bool set(const unsigned char& value); 311 inline bool set(const short& value); 312 inline bool set(const unsigned short& value); 313 inline bool set(const int& value); 314 inline bool set(const unsigned int& value); 315 inline bool set(const long& value); 316 inline bool set(const unsigned long& value); 317 inline bool set(const long long& value); 318 inline bool set(const unsigned long long& value); 319 inline bool set(const float& value); 320 inline bool set(const double& value); 321 inline bool set(const long double& value); 322 inline bool set(const bool& value); 323 inline bool set( void* const& value); 324 inline bool set(const std::string& value); 325 inline bool set(const orxonox::Vector2& value); 326 inline bool set(const orxonox::Vector3& value); 327 inline bool set(const orxonox::Vector4& value); 328 inline bool set(const orxonox::ColourValue& value); 329 inline bool set(const orxonox::Quaternion& value); 330 inline bool set(const orxonox::Radian& value); 331 inline bool set(const orxonox::Degree& value); 332 inline bool set(const char* value); 333 333 /// Assigns a pointer. 334 template <typename V> inline bool set Value(V* value)334 template <typename V> inline bool set(V* value) 335 335 { 336 336 if (this->value_) … … 340 340 } 341 341 /// Changes the type to T and assigns the new value (which might be of another type than T - it gets converted). 342 template <typename T, typename V> inline bool set Value(const V& value) { this->reset<T>(); return this->setValue(value); }342 template <typename T, typename V> inline bool set(const V& value) { this->reset<T>(); return this->set(value); } 343 343 /// Assigns the value of the other MultiType and converts it to the current type. 344 bool set Value(const MultiType& other) { if (this->value_) { return this->value_->assimilate(other); } else { if (other.value_) { this->value_ = other.value_->clone(); } return true; } }344 bool set(const MultiType& other) { if (this->value_) { return this->value_->assimilate(other); } else { if (other.value_) { this->value_ = other.value_->clone(); } return true; } } 345 345 346 346 /// Copies the other MultiType by assigning value and type. … … 348 348 349 349 /// Converts the current value to type T. 350 template <typename T> inline bool convert() { return this->set Value<T>((typename Loki::TypeTraits<T>::UnqualifiedReferredType)(*this)); }350 template <typename T> inline bool convert() { return this->set<T>((typename Loki::TypeTraits<T>::UnqualifiedReferredType)(*this)); } 351 351 352 352 /// Resets value and type. Type will be void afterwards and null() returns true. … … 427 427 inline bool getValue(orxonox::Degree* value) const { if (this->value_) { return this->value_->getValue(value); } return false; } ///< Assigns the value to the given pointer. The value gets converted if the types don't match. 428 428 429 inline char getChar() const { return this->operator char(); } ///< Returns the current value, converted to the requested type. 430 inline unsigned char getUnsignedChar() const { return this->operator unsigned char(); } ///< Returns the current value, converted to the requested type. 431 inline short getShort() const { return this->operator short(); } ///< Returns the current value, converted to the requested type. 432 inline unsigned short getUnsignedShort() const { return this->operator unsigned short(); } ///< Returns the current value, converted to the requested type. 433 inline int getInt() const { return this->operator int(); } ///< Returns the current value, converted to the requested type. 434 inline unsigned int getUnsignedInt() const { return this->operator unsigned int(); } ///< Returns the current value, converted to the requested type. 435 inline long getLong() const { return this->operator long(); } ///< Returns the current value, converted to the requested type. 436 inline unsigned long getUnsignedLong() const { return this->operator unsigned long(); } ///< Returns the current value, converted to the requested type. 437 inline long long getLongLong() const { return this->operator long long(); } ///< Returns the current value, converted to the requested type. 438 inline unsigned long long getUnsignedLongLong() const { return this->operator unsigned long long(); } ///< Returns the current value, converted to the requested type. 439 inline float getFloat() const { return this->operator float(); } ///< Returns the current value, converted to the requested type. 440 inline double getDouble() const { return this->operator double(); } ///< Returns the current value, converted to the requested type. 441 inline long double getLongDouble() const { return this->operator long double(); } ///< Returns the current value, converted to the requested type. 442 inline bool getBool() const { return this->operator bool(); } ///< Returns the current value, converted to the requested type. 443 inline void* getVoid() const { return this->operator void*(); } ///< Returns the current value, converted to the requested type. 444 inline std::string getString() const { return this->operator std::string(); } ///< Returns the current value, converted to the requested type. 445 inline orxonox::Vector2 getVector2() const { return this->operator orxonox::Vector2(); } ///< Returns the current value, converted to the requested type. 446 inline orxonox::Vector3 getVector3() const { return this->operator orxonox::Vector3(); } ///< Returns the current value, converted to the requested type. 447 inline orxonox::Vector4 getVector4() const { return this->operator orxonox::Vector4(); } ///< Returns the current value, converted to the requested type. 448 inline orxonox::ColourValue getColourValue() const { return this->operator orxonox::ColourValue(); } ///< Returns the current value, converted to the requested type. 449 inline orxonox::Quaternion getQuaternion() const { return this->operator orxonox::Quaternion(); } ///< Returns the current value, converted to the requested type. 450 inline orxonox::Radian getRadian() const { return this->operator orxonox::Radian(); } ///< Returns the current value, converted to the requested type. 451 inline orxonox::Degree getDegree() const { return this->operator orxonox::Degree(); } ///< Returns the current value, converted to the requested type. 452 template <typename T> inline T* getPointer() const { return static_cast<T*>(this->getVoid()); } ///< Returns the current value, converted to a T* pointer. 429 /// Returns the current value, converted to the requested type. 430 template <typename T> inline T get() const { return T(); } 453 431 454 432 private: … … 524 502 525 503 // Specialization to avoid ambiguities with the conversion operator 526 template <> inline bool MultiType::convert<std::string>() { return this->set Value<std::string> (this->operator std::string()); } ///< Converts the current value to the given type.527 template <> inline bool MultiType::convert<orxonox::Vector2>() { return this->set Value<orxonox::Vector2> (this->operator orxonox::Vector2()); } ///< Converts the current value to the given type.528 template <> inline bool MultiType::convert<orxonox::Vector3>() { return this->set Value<orxonox::Vector3> (this->operator orxonox::Vector3()); } ///< Converts the current value to the given type.529 template <> inline bool MultiType::convert<orxonox::Vector4>() { return this->set Value<orxonox::Vector4> (this->operator orxonox::Vector4()); } ///< Converts the current value to the given type.530 template <> inline bool MultiType::convert<orxonox::ColourValue>() { return this->set Value<orxonox::ColourValue>(this->operator orxonox::ColourValue()); } ///< Converts the current value to the given type.531 template <> inline bool MultiType::convert<orxonox::Quaternion>() { return this->set Value<orxonox::Quaternion> (this->operator orxonox::Quaternion()); } ///< Converts the current value to the given type.532 template <> inline bool MultiType::convert<orxonox::Radian>() { return this->set Value<orxonox::Radian> (this->operator orxonox::Radian()); } ///< Converts the current value to the given type.533 template <> inline bool MultiType::convert<orxonox::Degree>() { return this->set Value<orxonox::Degree> (this->operator orxonox::Degree()); } ///< Converts the current value to the given type.504 template <> inline bool MultiType::convert<std::string>() { return this->set<std::string> (this->operator std::string()); } ///< Converts the current value to the given type. 505 template <> inline bool MultiType::convert<orxonox::Vector2>() { return this->set<orxonox::Vector2> (this->operator orxonox::Vector2()); } ///< Converts the current value to the given type. 506 template <> inline bool MultiType::convert<orxonox::Vector3>() { return this->set<orxonox::Vector3> (this->operator orxonox::Vector3()); } ///< Converts the current value to the given type. 507 template <> inline bool MultiType::convert<orxonox::Vector4>() { return this->set<orxonox::Vector4> (this->operator orxonox::Vector4()); } ///< Converts the current value to the given type. 508 template <> inline bool MultiType::convert<orxonox::ColourValue>() { return this->set<orxonox::ColourValue>(this->operator orxonox::ColourValue()); } ///< Converts the current value to the given type. 509 template <> inline bool MultiType::convert<orxonox::Quaternion>() { return this->set<orxonox::Quaternion> (this->operator orxonox::Quaternion()); } ///< Converts the current value to the given type. 510 template <> inline bool MultiType::convert<orxonox::Radian>() { return this->set<orxonox::Radian> (this->operator orxonox::Radian()); } ///< Converts the current value to the given type. 511 template <> inline bool MultiType::convert<orxonox::Degree>() { return this->set<orxonox::Degree> (this->operator orxonox::Degree()); } ///< Converts the current value to the given type. 534 512 535 513 // Specialization to avoid ambiguities with the conversion operator … … 567 545 template <> _UtilExport void MultiType::createNewValueContainer(const orxonox::Degree& value); 568 546 569 inline bool MultiType::setValue(const char& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 570 inline bool MultiType::setValue(const unsigned char& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 571 inline bool MultiType::setValue(const short& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 572 inline bool MultiType::setValue(const unsigned short& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 573 inline bool MultiType::setValue(const int& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 574 inline bool MultiType::setValue(const unsigned int& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 575 inline bool MultiType::setValue(const long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 576 inline bool MultiType::setValue(const unsigned long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 577 inline bool MultiType::setValue(const long long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 578 inline bool MultiType::setValue(const unsigned long long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 579 inline bool MultiType::setValue(const float& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 580 inline bool MultiType::setValue(const double& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 581 inline bool MultiType::setValue(const long double& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 582 inline bool MultiType::setValue(const bool& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 583 inline bool MultiType::setValue( void* const& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 584 inline bool MultiType::setValue(const std::string& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 585 inline bool MultiType::setValue(const orxonox::Vector2& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 586 inline bool MultiType::setValue(const orxonox::Vector3& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 587 inline bool MultiType::setValue(const orxonox::Vector4& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 588 inline bool MultiType::setValue(const orxonox::ColourValue& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 589 inline bool MultiType::setValue(const orxonox::Quaternion& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 590 inline bool MultiType::setValue(const orxonox::Radian& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 591 inline bool MultiType::setValue(const orxonox::Degree& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 547 inline bool MultiType::set(const char& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 548 inline bool MultiType::set(const unsigned char& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 549 inline bool MultiType::set(const short& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 550 inline bool MultiType::set(const unsigned short& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 551 inline bool MultiType::set(const int& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 552 inline bool MultiType::set(const unsigned int& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 553 inline bool MultiType::set(const long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 554 inline bool MultiType::set(const unsigned long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 555 inline bool MultiType::set(const long long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 556 inline bool MultiType::set(const unsigned long long& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 557 inline bool MultiType::set(const float& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 558 inline bool MultiType::set(const double& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 559 inline bool MultiType::set(const long double& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 560 inline bool MultiType::set(const bool& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 561 inline bool MultiType::set( void* const& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 562 inline bool MultiType::set(const std::string& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 563 inline bool MultiType::set(const orxonox::Vector2& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 564 inline bool MultiType::set(const orxonox::Vector3& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 565 inline bool MultiType::set(const orxonox::Vector4& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 566 inline bool MultiType::set(const orxonox::ColourValue& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 567 inline bool MultiType::set(const orxonox::Quaternion& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 568 inline bool MultiType::set(const orxonox::Radian& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 569 inline bool MultiType::set(const orxonox::Degree& value) { if (this->value_) { return this->value_->setValue(value); } else { return this->assignValue(value); } } ///< Assigns the given value and converts it to the current type. 570 571 template <> inline char MultiType::get() const { return this->operator char(); } 572 template <> inline unsigned char MultiType::get() const { return this->operator unsigned char(); } 573 template <> inline short MultiType::get() const { return this->operator short(); } 574 template <> inline unsigned short MultiType::get() const { return this->operator unsigned short(); } 575 template <> inline int MultiType::get() const { return this->operator int(); } 576 template <> inline unsigned int MultiType::get() const { return this->operator unsigned int(); } 577 template <> inline long MultiType::get() const { return this->operator long(); } 578 template <> inline unsigned long MultiType::get() const { return this->operator unsigned long(); } 579 template <> inline long long MultiType::get() const { return this->operator long long(); } 580 template <> inline unsigned long long MultiType::get() const { return this->operator unsigned long long(); } 581 template <> inline float MultiType::get() const { return this->operator float(); } 582 template <> inline double MultiType::get() const { return this->operator double(); } 583 template <> inline long double MultiType::get() const { return this->operator long double(); } 584 template <> inline bool MultiType::get() const { return this->operator bool(); } 585 template <> inline void* MultiType::get() const { return this->operator void*(); } 586 template <> inline std::string MultiType::get() const { return this->operator std::string(); } 587 template <> inline orxonox::Vector2 MultiType::get() const { return this->operator orxonox::Vector2(); } 588 template <> inline orxonox::Vector3 MultiType::get() const { return this->operator orxonox::Vector3(); } 589 template <> inline orxonox::Vector4 MultiType::get() const { return this->operator orxonox::Vector4(); } 590 template <> inline orxonox::ColourValue MultiType::get() const { return this->operator orxonox::ColourValue(); } 591 template <> inline orxonox::Quaternion MultiType::get() const { return this->operator orxonox::Quaternion(); } 592 template <> inline orxonox::Radian MultiType::get() const { return this->operator orxonox::Radian(); } 593 template <> inline orxonox::Degree MultiType::get() const { return this->operator orxonox::Degree(); } 592 594 593 595 /// Assigns the given value and converts it to the current type. 594 inline bool MultiType::set Value(const char* value) { if (this->value_) { return this->value_->setValue(std::string(value)); } else { return this->assignValue(std::string(value)); } }596 inline bool MultiType::set(const char* value) { if (this->value_) { return this->value_->setValue(std::string(value)); } else { return this->assignValue(std::string(value)); } } 595 597 } 596 598 -
code/branches/testing/src/orxonox/LevelManager.cc
r8891 r9224 65 65 if (!CommandLineParser::getArgument("level")->hasDefaultValue()) 66 66 { 67 ModifyConfigValue(defaultLevelName_, tset, CommandLineParser::getValue("level").get String());67 ModifyConfigValue(defaultLevelName_, tset, CommandLineParser::getValue("level").get<std::string>()); 68 68 } 69 69 -
code/branches/testing/src/orxonox/Main.cc
r8858 r9224 68 68 orxout(user_status) << "Finished initialization" << endl; 69 69 70 if (CommandLineParser::getValue("generateDoc").get String().empty())70 if (CommandLineParser::getValue("generateDoc").get<std::string>().empty()) 71 71 { 72 72 orxout(internal_info) << "preparing game states" << endl; … … 86 86 87 87 // Some development hacks (not really, but in the future, these calls won't make sense anymore) 88 if (CommandLineParser::getValue("standalone").get Bool())88 if (CommandLineParser::getValue("standalone").get<bool>()) 89 89 Game::getInstance().requestStates("graphics, standalone, level"); 90 else if (CommandLineParser::getValue("server").get Bool())90 else if (CommandLineParser::getValue("server").get<bool>()) 91 91 Game::getInstance().requestStates("graphics, server, level"); 92 else if (CommandLineParser::getValue("client").get Bool())92 else if (CommandLineParser::getValue("client").get<bool>()) 93 93 Game::getInstance().requestStates("graphics, client, level"); 94 else if (CommandLineParser::getValue("dedicated").get Bool())94 else if (CommandLineParser::getValue("dedicated").get<bool>()) 95 95 Game::getInstance().requestStates("server, level"); 96 else if (CommandLineParser::getValue("dedicatedClient").get Bool())96 else if (CommandLineParser::getValue("dedicatedClient").get<bool>()) 97 97 Game::getInstance().requestStates("client, level"); 98 98 /* ADD masterserver command */ 99 else if (CommandLineParser::getValue("masterserver").get Bool())99 else if (CommandLineParser::getValue("masterserver").get<bool>()) 100 100 Game::getInstance().requestStates("masterserver"); 101 101 else 102 102 { 103 if (!CommandLineParser::getValue("console").get Bool())103 if (!CommandLineParser::getValue("console").get<bool>()) 104 104 Game::getInstance().requestStates("graphics, mainMenu"); 105 105 } -
code/branches/testing/test/util/MultiTypeTest.cc
r9223 r9224 12 12 // x assignment(other) 13 13 14 // x set Value(value)15 // ? set Value(pointer)16 // x set Value<type>(value)14 // x set(value) 15 // ? set(pointer) 16 // x set<type>(value) 17 17 18 18 // x convert<type>() … … 26 26 // ? (pointer class) conversion 27 27 // x getValue(pointer) 28 // x get XXX()28 // x get<type>() 29 29 // ? getPointer() 30 30 … … 45 45 // Constructor // 46 46 ///////////////// 47 TEST(MultiType, ValueChar) { char value = -100; MultiType mt(value); EXPECT_TRUE(mt.isType<char>()); EXPECT_EQ(-100, mt.get Char()); }48 TEST(MultiType, ValueUnsignedChar) { unsigned char value = 255u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned char>()); EXPECT_EQ(255u, mt.get UnsignedChar()); }49 TEST(MultiType, ValueShort) { short value = -10000; MultiType mt(value); EXPECT_TRUE(mt.isType<short>()); EXPECT_EQ(-10000, mt.get Short()); }50 TEST(MultiType, ValueUnsignedShort) { unsigned short value = 65535u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned short>()); EXPECT_EQ(65535u, mt.get UnsignedShort()); }51 TEST(MultiType, ValueInt) { int value = -1000000000; MultiType mt(value); EXPECT_TRUE(mt.isType<int>()); EXPECT_EQ(-1000000000, mt.get Int()); }52 TEST(MultiType, ValueUnsignedInt) { unsigned int value = 4000000000u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned int>()); EXPECT_EQ(4000000000u, mt.get UnsignedInt()); }53 TEST(MultiType, ValueLong) { long value = -1000000000; MultiType mt(value); EXPECT_TRUE(mt.isType<long>()); EXPECT_EQ(-1000000000, mt.get Long()); }54 TEST(MultiType, ValueUnsignedLong) { unsigned long value = 4000000000u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned long>()); EXPECT_EQ(4000000000u, mt.get UnsignedLong()); }55 TEST(MultiType, ValueLongLong) { long long value = -1000000000000000000L; MultiType mt(value); EXPECT_TRUE(mt.isType<long long>()); EXPECT_EQ(-1000000000000000000L, mt.get LongLong()); }56 TEST(MultiType, ValueUnsignedLongLong) { unsigned long long value = 4000000000000000000UL; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned long long>()); EXPECT_EQ(4000000000000000000UL, mt.get UnsignedLongLong()); }57 TEST(MultiType, ValueFloat) { float value = 0.123456f; MultiType mt(value); EXPECT_TRUE(mt.isType<float>()); EXPECT_EQ(0.123456f, mt.get Float()); }58 TEST(MultiType, ValueDouble) { double value = 0.123456789; MultiType mt(value); EXPECT_TRUE(mt.isType<double>()); EXPECT_EQ(0.123456789, mt.get Double()); }59 TEST(MultiType, ValueLongDouble) { long double value = 0.123456789123456789; MultiType mt(value); EXPECT_TRUE(mt.isType<long double>()); EXPECT_EQ(0.123456789123456789, mt.get LongDouble()); }60 TEST(MultiType, ValueBool) { bool value = true; MultiType mt(value); EXPECT_TRUE(mt.isType<bool>()); EXPECT_EQ(true, mt.get Bool()); }61 TEST(MultiType, ValueVoidpointer) { int* pointer = new int; void* value = pointer; MultiType mt(value); EXPECT_TRUE(mt.isType<void*>()); EXPECT_EQ(value, mt.get Pointer<void>()); delete pointer; }62 TEST(MultiType, ValueString) { std::string value = "Hello World"; MultiType mt(value); EXPECT_TRUE(mt.isType<std::string>()); EXPECT_EQ("Hello World", mt.get String()); }63 TEST(MultiType, ValueVector2) { Vector2 value = Vector2(11, 22); MultiType mt(value); EXPECT_TRUE(mt.isType<Vector2>()); EXPECT_EQ(Vector2(11, 22), mt.get Vector2()); }64 TEST(MultiType, ValueVector3) { Vector3 value = Vector3(11, 22, 33); MultiType mt(value); EXPECT_TRUE(mt.isType<Vector3>()); EXPECT_EQ(Vector3(11, 22, 33), mt.get Vector3()); }65 TEST(MultiType, ValueVector4) { Vector4 value = Vector4(11, 22, 33, 44); MultiType mt(value); EXPECT_TRUE(mt.isType<Vector4>()); EXPECT_EQ(Vector4(11, 22, 33, 44), mt.get Vector4()); }66 TEST(MultiType, ValueColourValue) { ColourValue value = ColourValue(11, 22, 33, 44); MultiType mt(value); EXPECT_TRUE(mt.isType<ColourValue>()); EXPECT_EQ(ColourValue(11, 22, 33, 44), mt.get ColourValue()); }67 TEST(MultiType, ValueQuaternion) { Quaternion value = Quaternion(11, 22, 33, 44); MultiType mt(value); EXPECT_TRUE(mt.isType<Quaternion>()); EXPECT_EQ(Quaternion(11, 22, 33, 44), mt.get Quaternion()); }68 TEST(MultiType, ValueRadian) { Radian value = Radian(0.123); MultiType mt(value); EXPECT_TRUE(mt.isType<Radian>()); EXPECT_EQ(Radian(0.123), mt.get Radian()); }69 TEST(MultiType, ValueDegree) { Degree value = Degree(123); MultiType mt(value); EXPECT_TRUE(mt.isType<Degree>()); EXPECT_EQ(Degree(123), mt.get Degree()); }70 TEST(MultiType, ValueMbool) { mbool value = mbool(true); MultiType mt(value); EXPECT_TRUE(mt.isType<bool>()); EXPECT_EQ(mbool(true), mt.get Bool()); }71 TEST(MultiType, ValueCharPointer) { const char* value = "Hello World"; MultiType mt(value); EXPECT_TRUE(mt.isType<std::string>()); EXPECT_EQ("Hello World", mt.get String()); }47 TEST(MultiType, ValueChar) { char value = -100; MultiType mt(value); EXPECT_TRUE(mt.isType<char>()); EXPECT_EQ(-100, mt.get<char>()); } 48 TEST(MultiType, ValueUnsignedChar) { unsigned char value = 255u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned char>()); EXPECT_EQ(255u, mt.get<unsigned char>()); } 49 TEST(MultiType, ValueShort) { short value = -10000; MultiType mt(value); EXPECT_TRUE(mt.isType<short>()); EXPECT_EQ(-10000, mt.get<short>()); } 50 TEST(MultiType, ValueUnsignedShort) { unsigned short value = 65535u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned short>()); EXPECT_EQ(65535u, mt.get<unsigned short>()); } 51 TEST(MultiType, ValueInt) { int value = -1000000000; MultiType mt(value); EXPECT_TRUE(mt.isType<int>()); EXPECT_EQ(-1000000000, mt.get<int>()); } 52 TEST(MultiType, ValueUnsignedInt) { unsigned int value = 4000000000u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned int>()); EXPECT_EQ(4000000000u, mt.get<unsigned int>()); } 53 TEST(MultiType, ValueLong) { long value = -1000000000; MultiType mt(value); EXPECT_TRUE(mt.isType<long>()); EXPECT_EQ(-1000000000, mt.get<long>()); } 54 TEST(MultiType, ValueUnsignedLong) { unsigned long value = 4000000000u; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned long>()); EXPECT_EQ(4000000000u, mt.get<unsigned long>()); } 55 TEST(MultiType, ValueLongLong) { long long value = -1000000000000000000L; MultiType mt(value); EXPECT_TRUE(mt.isType<long long>()); EXPECT_EQ(-1000000000000000000L, mt.get<long long>()); } 56 TEST(MultiType, ValueUnsignedLongLong) { unsigned long long value = 4000000000000000000UL; MultiType mt(value); EXPECT_TRUE(mt.isType<unsigned long long>()); EXPECT_EQ(4000000000000000000UL, mt.get<unsigned long long>()); } 57 TEST(MultiType, ValueFloat) { float value = 0.123456f; MultiType mt(value); EXPECT_TRUE(mt.isType<float>()); EXPECT_EQ(0.123456f, mt.get<float>()); } 58 TEST(MultiType, ValueDouble) { double value = 0.123456789; MultiType mt(value); EXPECT_TRUE(mt.isType<double>()); EXPECT_EQ(0.123456789, mt.get<double>()); } 59 TEST(MultiType, ValueLongDouble) { long double value = 0.123456789123456789; MultiType mt(value); EXPECT_TRUE(mt.isType<long double>()); EXPECT_EQ(0.123456789123456789, mt.get<long double>()); } 60 TEST(MultiType, ValueBool) { bool value = true; MultiType mt(value); EXPECT_TRUE(mt.isType<bool>()); EXPECT_EQ(true, mt.get<bool>()); } 61 TEST(MultiType, ValueVoidpointer) { int* pointer = new int; void* value = pointer; MultiType mt(value); EXPECT_TRUE(mt.isType<void*>()); EXPECT_EQ(value, mt.get<void*>()); delete pointer; } 62 TEST(MultiType, ValueString) { std::string value = "Hello World"; MultiType mt(value); EXPECT_TRUE(mt.isType<std::string>()); EXPECT_EQ("Hello World", mt.get<std::string>()); } 63 TEST(MultiType, ValueVector2) { Vector2 value = Vector2(11, 22); MultiType mt(value); EXPECT_TRUE(mt.isType<Vector2>()); EXPECT_EQ(Vector2(11, 22), mt.get<Vector2>()); } 64 TEST(MultiType, ValueVector3) { Vector3 value = Vector3(11, 22, 33); MultiType mt(value); EXPECT_TRUE(mt.isType<Vector3>()); EXPECT_EQ(Vector3(11, 22, 33), mt.get<Vector3>()); } 65 TEST(MultiType, ValueVector4) { Vector4 value = Vector4(11, 22, 33, 44); MultiType mt(value); EXPECT_TRUE(mt.isType<Vector4>()); EXPECT_EQ(Vector4(11, 22, 33, 44), mt.get<Vector4>()); } 66 TEST(MultiType, ValueColourValue) { ColourValue value = ColourValue(11, 22, 33, 44); MultiType mt(value); EXPECT_TRUE(mt.isType<ColourValue>()); EXPECT_EQ(ColourValue(11, 22, 33, 44), mt.get<ColourValue>()); } 67 TEST(MultiType, ValueQuaternion) { Quaternion value = Quaternion(11, 22, 33, 44); MultiType mt(value); EXPECT_TRUE(mt.isType<Quaternion>()); EXPECT_EQ(Quaternion(11, 22, 33, 44), mt.get<Quaternion>()); } 68 TEST(MultiType, ValueRadian) { Radian value = Radian(0.123); MultiType mt(value); EXPECT_TRUE(mt.isType<Radian>()); EXPECT_EQ(Radian(0.123), mt.get<Radian>()); } 69 TEST(MultiType, ValueDegree) { Degree value = Degree(123); MultiType mt(value); EXPECT_TRUE(mt.isType<Degree>()); EXPECT_EQ(Degree(123), mt.get<Degree>()); } 70 TEST(MultiType, ValueMbool) { mbool value = mbool(true); MultiType mt(value); EXPECT_TRUE(mt.isType<bool>()); EXPECT_EQ(mbool(true), mt.get<bool>()); } 71 TEST(MultiType, ValueCharPointer) { const char* value = "Hello World"; MultiType mt(value); EXPECT_TRUE(mt.isType<std::string>()); EXPECT_EQ("Hello World", mt.get<std::string>()); } 72 72 73 73 ////////////////////// … … 88 88 89 89 EXPECT_TRUE(mt2.isType<float>()); 90 EXPECT_EQ(0.1234f, mt2.get Float());90 EXPECT_EQ(0.1234f, mt2.get<float>()); 91 91 } 92 92 … … 104 104 EXPECT_FALSE(mt.null()); 105 105 EXPECT_TRUE(mt.isType<int>()); 106 EXPECT_EQ(55, mt.get Int());106 EXPECT_EQ(55, mt.get<int>()); 107 107 } 108 108 … … 112 112 113 113 EXPECT_TRUE(mt.isType<int>()); 114 EXPECT_EQ(66, mt.get Int());114 EXPECT_EQ(66, mt.get<int>()); 115 115 116 116 mt = 77.7f; // will be converted to int 117 117 118 118 EXPECT_TRUE(mt.isType<int>()); 119 EXPECT_EQ(77, mt.get Int());120 EXPECT_EQ(77.0f, mt.get Float());119 EXPECT_EQ(77, mt.get<int>()); 120 EXPECT_EQ(77.0f, mt.get<float>()); 121 121 } 122 122 … … 126 126 127 127 EXPECT_TRUE(mt.isType<float>()); 128 EXPECT_EQ(66, mt.get Int());129 EXPECT_EQ(66.6f, mt.get Float());128 EXPECT_EQ(66, mt.get<int>()); 129 EXPECT_EQ(66.6f, mt.get<float>()); 130 130 131 131 mt = 77.7f; 132 132 133 133 EXPECT_TRUE(mt.isType<float>()); 134 EXPECT_EQ(77, mt.get Int());135 EXPECT_EQ(77.7f, mt.get Float());134 EXPECT_EQ(77, mt.get<int>()); 135 EXPECT_EQ(77.7f, mt.get<float>()); 136 136 } 137 137 … … 141 141 142 142 EXPECT_TRUE(mt.isType<Vector3>()); 143 EXPECT_EQ(Vector3(1, 2, 3), mt.get Vector3());143 EXPECT_EQ(Vector3(1, 2, 3), mt.get<Vector3>()); 144 144 EXPECT_FALSE(mt.hasDefaultValue()); 145 145 … … 147 147 148 148 EXPECT_TRUE(mt.isType<Vector3>()); 149 EXPECT_EQ(Vector3::ZERO, mt.get Vector3());149 EXPECT_EQ(Vector3::ZERO, mt.get<Vector3>()); 150 150 EXPECT_TRUE(mt.hasDefaultValue()); 151 151 } … … 162 162 EXPECT_TRUE(mt2.isType<float>()); 163 163 164 EXPECT_EQ(33, mt1.get Int());165 EXPECT_EQ(33.0f, mt1.get Float());166 EXPECT_EQ(44.4f, mt2.get Float());164 EXPECT_EQ(33, mt1.get<int>()); 165 EXPECT_EQ(33.0f, mt1.get<float>()); 166 EXPECT_EQ(44.4f, mt2.get<float>()); 167 167 168 168 mt1 = mt2; … … 171 171 EXPECT_TRUE(mt2.isType<float>()); 172 172 173 EXPECT_EQ(44, mt1.get Int());174 EXPECT_EQ(44.0f, mt1.get Float());175 EXPECT_EQ(44.4f, mt2.get Float());176 } 177 178 //////////////// /////179 // set Value(value) //180 //////////////// /////173 EXPECT_EQ(44, mt1.get<int>()); 174 EXPECT_EQ(44.0f, mt1.get<float>()); 175 EXPECT_EQ(44.4f, mt2.get<float>()); 176 } 177 178 //////////////// 179 // set(value) // 180 //////////////// 181 181 TEST(MultiType, SetValueBoolToEmpty) 182 182 { 183 183 MultiType mt; 184 184 185 mt.set Value(true);185 mt.set(true); 186 186 187 187 EXPECT_TRUE(mt.isType<bool>()); 188 EXPECT_EQ(true, mt.get Bool());188 EXPECT_EQ(true, mt.get<bool>()); 189 189 } 190 190 … … 194 194 195 195 EXPECT_TRUE(mt.isType<std::string>()); 196 EXPECT_EQ("Hello", mt.get String());197 198 mt.set Value(1234);196 EXPECT_EQ("Hello", mt.get<std::string>()); 197 198 mt.set(1234); 199 199 200 200 EXPECT_TRUE(mt.isType<std::string>()); 201 EXPECT_EQ("1234", mt.get String());202 } 203 204 ////////////////////// /////205 // set Value<type>(value) //206 ////////////////////// /////201 EXPECT_EQ("1234", mt.get<std::string>()); 202 } 203 204 ////////////////////// 205 // set<type>(value) // 206 ////////////////////// 207 207 TEST(MultiType, SetValueWithTypeIntToString) 208 208 { … … 210 210 211 211 EXPECT_TRUE(mt.isType<std::string>()); 212 EXPECT_EQ("Hello", mt.get String());213 214 mt.set Value<int>(1234);215 216 EXPECT_TRUE(mt.isType<int>()); 217 EXPECT_EQ(1234, mt.get Int());212 EXPECT_EQ("Hello", mt.get<std::string>()); 213 214 mt.set<int>(1234); 215 216 EXPECT_TRUE(mt.isType<int>()); 217 EXPECT_EQ(1234, mt.get<int>()); 218 218 } 219 219 … … 223 223 224 224 EXPECT_TRUE(mt.isType<std::string>()); 225 EXPECT_EQ("Hello", mt.get String());226 227 mt.set Value<int>("1234");228 229 EXPECT_TRUE(mt.isType<int>()); 230 EXPECT_EQ(1234, mt.get Int());225 EXPECT_EQ("Hello", mt.get<std::string>()); 226 227 mt.set<int>("1234"); 228 229 EXPECT_TRUE(mt.isType<int>()); 230 EXPECT_EQ(1234, mt.get<int>()); 231 231 } 232 232 … … 236 236 237 237 EXPECT_TRUE(mt.isType<int>()); 238 EXPECT_EQ(4321, mt.get Int());239 240 mt.set Value<int>(1234);241 242 EXPECT_TRUE(mt.isType<int>()); 243 EXPECT_EQ(1234, mt.get Int());238 EXPECT_EQ(4321, mt.get<int>()); 239 240 mt.set<int>(1234); 241 242 EXPECT_TRUE(mt.isType<int>()); 243 EXPECT_EQ(1234, mt.get<int>()); 244 244 } 245 245 … … 253 253 254 254 EXPECT_TRUE(mt.isType<int>()); 255 EXPECT_EQ(0, mt.get Int());255 EXPECT_EQ(0, mt.get<int>()); 256 256 257 257 // EXPECT_TRUE(mt.hasDefaultValue()); … … 263 263 264 264 EXPECT_TRUE(mt.isType<float>()); 265 EXPECT_EQ(1.234f, mt.get Float());266 EXPECT_EQ(1, mt.get Int());265 EXPECT_EQ(1.234f, mt.get<float>()); 266 EXPECT_EQ(1, mt.get<int>()); 267 267 268 268 mt.convert<int>(); 269 269 270 270 EXPECT_TRUE(mt.isType<int>()); 271 EXPECT_EQ(1.0f, mt.get Float());272 EXPECT_EQ(1, mt.get Int());271 EXPECT_EQ(1.0f, mt.get<float>()); 272 EXPECT_EQ(1, mt.get<int>()); 273 273 } 274 274 … … 278 278 279 279 EXPECT_TRUE(mt.isType<float>()); 280 EXPECT_EQ(1.234f, mt.get Float());281 EXPECT_EQ(Vector3::ZERO, mt.get Vector3());280 EXPECT_EQ(1.234f, mt.get<float>()); 281 EXPECT_EQ(Vector3::ZERO, mt.get<Vector3>()); 282 282 283 283 mt.convert<Vector3>(); 284 284 285 285 EXPECT_TRUE(mt.isType<Vector3>()); 286 EXPECT_EQ(0.0f, mt.get Float());287 EXPECT_EQ(Vector3::ZERO, mt.get Vector3());286 EXPECT_EQ(0.0f, mt.get<float>()); 287 EXPECT_EQ(Vector3::ZERO, mt.get<Vector3>()); 288 288 289 289 // EXPECT_TRUE(mt.hasDefaultValue()); … … 300 300 EXPECT_FALSE(mt.isType<void>()); 301 301 EXPECT_FALSE(mt.null()); 302 EXPECT_EQ(10, mt.get Int());302 EXPECT_EQ(10, mt.get<int>()); 303 303 304 304 mt.reset(); … … 307 307 EXPECT_TRUE(mt.isType<void>()); 308 308 EXPECT_TRUE(mt.null()); 309 EXPECT_EQ(0, mt.get Int());309 EXPECT_EQ(0, mt.get<int>()); 310 310 } 311 311 … … 319 319 EXPECT_TRUE(mt.isType<int>()); 320 320 EXPECT_FALSE(mt.isType<float>()); 321 EXPECT_EQ(10, mt.get Int());321 EXPECT_EQ(10, mt.get<int>()); 322 322 323 323 mt.reset<float>(); … … 325 325 EXPECT_FALSE(mt.isType<int>()); 326 326 EXPECT_TRUE(mt.isType<float>()); 327 EXPECT_EQ(0, mt.get Int());327 EXPECT_EQ(0, mt.get<int>()); 328 328 } 329 329 … … 336 336 337 337 EXPECT_TRUE(mt.isType<int>()); 338 EXPECT_EQ(10, mt.get Int());338 EXPECT_EQ(10, mt.get<int>()); 339 339 340 340 mt.resetValue(); 341 341 342 342 EXPECT_TRUE(mt.isType<int>()); 343 EXPECT_EQ(0, mt.get Int());343 EXPECT_EQ(0, mt.get<int>()); 344 344 } 345 345 … … 430 430 431 431 ////////////// 432 // get XXX() //432 // get<type>() // 433 433 ////////////// 434 434 TEST(MultiType, GetValueFromInt) … … 436 436 MultiType mt(256); 437 437 438 EXPECT_EQ(0, mt.get Char());439 EXPECT_EQ(0u, mt.get UnsignedChar());440 EXPECT_EQ(256, mt.get Short());441 EXPECT_EQ(256u, mt.get UnsignedShort());442 EXPECT_EQ(256, mt.get Int());443 EXPECT_EQ(256u, mt.get UnsignedInt());444 EXPECT_EQ(256, mt.get Long());445 EXPECT_EQ(256u, mt.get UnsignedLong());446 EXPECT_EQ(256, mt.get LongLong());447 EXPECT_EQ(256u, mt.get UnsignedLongLong());448 EXPECT_EQ(256.0f, mt.get Float());449 EXPECT_EQ(256.0, mt.get Double());450 EXPECT_EQ(256.0, mt.get LongDouble());451 EXPECT_TRUE(mt.get Bool());452 EXPECT_EQ("256", mt.get String());438 EXPECT_EQ(0, mt.get<char>()); 439 EXPECT_EQ(0u, mt.get<unsigned char>()); 440 EXPECT_EQ(256, mt.get<short>()); 441 EXPECT_EQ(256u, mt.get<unsigned short>()); 442 EXPECT_EQ(256, mt.get<int>()); 443 EXPECT_EQ(256u, mt.get<unsigned int>()); 444 EXPECT_EQ(256, mt.get<long>()); 445 EXPECT_EQ(256u, mt.get<unsigned long>()); 446 EXPECT_EQ(256, mt.get<long long>()); 447 EXPECT_EQ(256u, mt.get<unsigned long long>()); 448 EXPECT_EQ(256.0f, mt.get<float>()); 449 EXPECT_EQ(256.0, mt.get<double>()); 450 EXPECT_EQ(256.0, mt.get<long double>()); 451 EXPECT_TRUE(mt.get<bool>()); 452 EXPECT_EQ("256", mt.get<std::string>()); 453 453 } 454 454 … … 457 457 MultiType mt(128.821); 458 458 459 EXPECT_EQ(-128, mt.get Char());460 EXPECT_EQ(128u, mt.get UnsignedChar());461 EXPECT_EQ(128, mt.get Short());462 EXPECT_EQ(128u, mt.get UnsignedShort());463 EXPECT_EQ(128, mt.get Int());464 EXPECT_EQ(128u, mt.get UnsignedInt());465 EXPECT_EQ(128, mt.get Long());466 EXPECT_EQ(128u, mt.get UnsignedLong());467 EXPECT_EQ(128, mt.get LongLong());468 EXPECT_EQ(128u, mt.get UnsignedLongLong());469 EXPECT_EQ(128.821f, mt.get Float());470 EXPECT_EQ(128.821, mt.get Double());471 EXPECT_EQ(128.821, mt.get LongDouble());472 EXPECT_TRUE(mt.get Bool());473 EXPECT_EQ("128.821", mt.get String());459 EXPECT_EQ(-128, mt.get<char>()); 460 EXPECT_EQ(128u, mt.get<unsigned char>()); 461 EXPECT_EQ(128, mt.get<short>()); 462 EXPECT_EQ(128u, mt.get<unsigned short>()); 463 EXPECT_EQ(128, mt.get<int>()); 464 EXPECT_EQ(128u, mt.get<unsigned int>()); 465 EXPECT_EQ(128, mt.get<long>()); 466 EXPECT_EQ(128u, mt.get<unsigned long>()); 467 EXPECT_EQ(128, mt.get<long long>()); 468 EXPECT_EQ(128u, mt.get<unsigned long long>()); 469 EXPECT_EQ(128.821f, mt.get<float>()); 470 EXPECT_EQ(128.821, mt.get<double>()); 471 EXPECT_EQ(128.821, mt.get<long double>()); 472 EXPECT_TRUE(mt.get<bool>()); 473 EXPECT_EQ("128.821", mt.get<std::string>()); 474 474 } 475 475 … … 478 478 MultiType mt("0.123"); 479 479 480 EXPECT_EQ('0', mt.get Char());481 EXPECT_EQ('0', mt.get UnsignedChar());482 EXPECT_EQ(0, mt.get Short());483 EXPECT_EQ(0u, mt.get UnsignedShort());484 EXPECT_EQ(0, mt.get Int());485 EXPECT_EQ(0u, mt.get UnsignedInt());486 EXPECT_EQ(0, mt.get Long());487 EXPECT_EQ(0u, mt.get UnsignedLong());488 EXPECT_EQ(0, mt.get LongLong());489 EXPECT_EQ(0u, mt.get UnsignedLongLong());490 EXPECT_EQ(0.123f, mt.get Float());491 EXPECT_EQ(0.123, mt.get Double());492 EXPECT_DOUBLE_EQ(0.123, mt.get LongDouble());493 EXPECT_FALSE(mt.get Bool());494 EXPECT_EQ("0.123", mt.get String());480 EXPECT_EQ('0', mt.get<char>()); 481 EXPECT_EQ('0', mt.get<unsigned char>()); 482 EXPECT_EQ(0, mt.get<short>()); 483 EXPECT_EQ(0u, mt.get<unsigned short>()); 484 EXPECT_EQ(0, mt.get<int>()); 485 EXPECT_EQ(0u, mt.get<unsigned int>()); 486 EXPECT_EQ(0, mt.get<long>()); 487 EXPECT_EQ(0u, mt.get<unsigned long>()); 488 EXPECT_EQ(0, mt.get<long long>()); 489 EXPECT_EQ(0u, mt.get<unsigned long long>()); 490 EXPECT_EQ(0.123f, mt.get<float>()); 491 EXPECT_EQ(0.123, mt.get<double>()); 492 EXPECT_DOUBLE_EQ(0.123, mt.get<long double>()); 493 EXPECT_FALSE(mt.get<bool>()); 494 EXPECT_EQ("0.123", mt.get<std::string>()); 495 495 } 496 496
Note: See TracChangeset
for help on using the changeset viewer.