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) ); 00080 static String toString(unsigned int val, 00081 unsigned short width = 0, char fill = ' ', 00082 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00084 static String toString(long val, 00085 unsigned short width = 0, char fill = ' ', 00086 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00088 static String toString(unsigned long val, 00089 unsigned short width = 0, char fill = ' ', 00090 std::ios::fmtflags flags = std::ios::fmtflags(0) ); 00094 static String toString(bool val, bool yesNo = false); 00099 static String toString(const Vector3& val); 00104 static String toString(const Matrix3& val); 00110 static String toString(const Matrix4& val); 00115 static String toString(const Quaternion& val); 00120 static String toString(const ColourValue& val); 00126 static String toString(const StringVector& val); 00127 00132 static Real parseReal(const String& val); 00137 static inline Radian parseAngle(const String& val) { 00138 return Angle(parseReal(val)); 00139 } 00144 static int parseInt(const String& val); 00149 static unsigned int parseUnsignedInt(const String& val); 00154 static long parseLong(const String& val); 00159 static unsigned long parseUnsignedLong(const String& val); 00164 static bool parseBool(const String& val); 00170 static Vector3 parseVector3(const String& val); 00176 static Matrix3 parseMatrix3(const String& val); 00182 static Matrix4 parseMatrix4(const String& val); 00189 static Quaternion parseQuaternion(const String& val); 00195 static ColourValue parseColourValue(const String& val); 00196 00202 static StringVector parseStringVector(const String& val); 00203 }; 00204 00205 00206 } 00207 00208 00209 00210 #endif 00211
Copyright © 2000-2005 by The OGRE Team
Last modified Wed Feb 23 00:19:14 2005