00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright (c) 2000-2005 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 ----------------------------------------------------------------------------- 00024 */ 00025 00026 #ifndef __StringConverter_H__ 00027 #define __StringConverter_H__ 00028 00029 #include "OgrePrerequisites.h" 00030 #include "OgreMath.h" 00031 #include "OgreString.h" 00032 #include "OgreStringVector.h" 00033 00034 namespace Ogre { 00035 00053 class _OgreExport StringConverter 00054 { 00055 public: 00056 00058 static String toString(Real val, unsigned short precision = 6, 00059 unsigned short width = 0, char fill = ' ', 00060 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00062 static String toString(Radian val, unsigned short precision = 6, 00063 unsigned short width = 0, char fill = ' ', 00064 std::ios::fmtflags flags = std::ios::fmtflags(0) ) 00065 { 00066 return toString(val.valueAngleUnits(), precision, width, fill, flags); 00067 } 00069 static String toString(Degree val, unsigned short precision = 6, 00070 unsigned short width = 0, char fill = ' ', 00071 std::ios::fmtflags flags = std::ios::fmtflags(0) ) 00072 { 00073 return toString(val.valueAngleUnits(), precision, width, fill, flags); 00074 } 00076 static String toString(int val, unsigned short width = 0, 00077 char fill = ' ', 00078 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00079 #if OGRE_ARCH_TYPE == OGRE_ARCHITECTURE_64 || OGRE_PLATFORM == OGRE_PLATFORM_APPLE 00080 00081 static String toString(unsigned int val, 00082 unsigned short width = 0, char fill = ' ', 00083 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00085 static String toString(size_t val, 00086 unsigned short width = 0, char fill = ' ', 00087 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00088 #if OGRE_COMPILER == OGRE_COMPILER_MSVC 00089 00090 static String toString(unsigned long val, 00091 unsigned short width = 0, char fill = ' ', 00092 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00093 00094 #endif 00095 #else 00096 00097 static String toString(size_t val, 00098 unsigned short width = 0, char fill = ' ', 00099 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00101 static String toString(unsigned long val, 00102 unsigned short width = 0, char fill = ' ', 00103 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00104 #endif 00105 00106 static String toString(long val, 00107 unsigned short width = 0, char fill = ' ', 00108 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00112 static String toString(bool val, bool yesNo = false); 00117 static String toString(const Vector3& val); 00122 static String toString(const Matrix3& val); 00128 static String toString(const Matrix4& val); 00133 static String toString(const Quaternion& val); 00138 static String toString(const ColourValue& val); 00144 static String toString(const StringVector& val); 00145 00150 static Real parseReal(const String& val); 00155 static inline Radian parseAngle(const String& val) { 00156 return Angle(parseReal(val)); 00157 } 00162 static int parseInt(const String& val); 00167 static unsigned int parseUnsignedInt(const String& val); 00172 static long parseLong(const String& val); 00177 static unsigned long parseUnsignedLong(const String& val); 00182 static bool parseBool(const String& val); 00188 static Vector3 parseVector3(const String& val); 00194 static Matrix3 parseMatrix3(const String& val); 00200 static Matrix4 parseMatrix4(const String& val); 00207 static Quaternion parseQuaternion(const String& val); 00213 static ColourValue parseColourValue(const String& val); 00214 00220 static StringVector parseStringVector(const String& val); 00221 }; 00222 00223 00224 } 00225 00226 00227 00228 #endif 00229
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:50 2006