OGRE 1.12.10
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::StringConverter Class Reference

Class for converting the core Ogre data types to/from Strings. More...

#include <OgreStringConverter.h>

Static Public Member Functions

static bool isNumber (const String &val)
 Checks the String is a valid number value.
static bool parse (const String &str, bool &v)
static bool parse (const String &str, ColourValue &v)
 Converts a String to a basic value type.
static bool parse (const String &str, double &v)
static bool parse (const String &str, float &v)
static bool parse (const String &str, int32 &v)
static bool parse (const String &str, int64 &v)
static bool parse (const String &str, Matrix3 &v)
static bool parse (const String &str, Matrix4 &v)
static bool parse (const String &str, Quaternion &v)
static bool parse (const String &str, uint32 &v)
static bool parse (const String &str, unsigned long &v)
static bool parse (const String &str, unsigned long long &v)
static bool parse (const String &str, Vector2 &v)
static bool parse (const String &str, Vector3 &v)
static bool parse (const String &str, Vector4 &v)
static Radian parseAngle (const String &val, Radian defaultValue=Radian(0))
 Converts a String to a Angle.
static bool parseBool (const String &val, bool defaultValue=0)
 Converts a String to a boolean.
static ColourBufferType parseColourBuffer (const String &val, ColourBufferType defaultValue=CBT_BACK)
static ColourValue parseColourValue (const String &val, const ColourValue &defaultValue=ColourValue::Black)
 Parses a ColourValue out of a String.
static int32 parseInt (const String &val, int32 defaultValue=0)
 Converts a String to a whole number.
static int64 parseLong (const String &val, int64 defaultValue=0)
static Matrix3 parseMatrix3 (const String &val, const Matrix3 &defaultValue=Matrix3::IDENTITY)
 Parses a Matrix3 out of a String.
static Matrix4 parseMatrix4 (const String &val, const Matrix4 &defaultValue=Matrix4::IDENTITY)
 Parses a Matrix4 out of a String.
static Quaternion parseQuaternion (const String &val, const Quaternion &defaultValue=Quaternion::IDENTITY)
 Parses a Quaternion out of a String.
static Real parseReal (const String &val, Real defaultValue=0)
 Converts a String to a Real.
static size_t parseSizeT (const String &val, size_t defaultValue=0)
 Converts a String to size_t.
static StereoModeType parseStereoMode (const String &val, StereoModeType defaultValue=SMT_NONE)
 Converts a String to a StereoModeType.
static StringVector parseStringVector (const String &val)
static uint32 parseUnsignedInt (const String &val, uint32 defaultValue=0)
 Converts a String to a whole number.
static uint64 parseUnsignedLong (const String &val, uint64 defaultValue=0)
static Vector2 parseVector2 (const String &val, const Vector2 &defaultValue=Vector2::ZERO)
 Parses a Vector2 out of a String.
static Vector3 parseVector3 (const String &val, const Vector3 &defaultValue=Vector3::ZERO)
 Parses a Vector3 out of a String.
static Vector4 parseVector4 (const String &val, const Vector4 &defaultValue=Vector4::ZERO)
 Parses a Vector4 out of a String.
static String toString (bool val, bool yesNo=false)
 Converts a boolean to a String.
static String toString (ColourBufferType val)
static String toString (const ColourValue &val)
 Converts a ColourValue to a String.
static String toString (const Matrix3 &val)
 Converts a Matrix3 to a String.
static String toString (const Matrix4 &val)
 Converts a Matrix4 to a String.
static String toString (const Quaternion &val)
 Converts a Quaternion to a String.
static String toString (const StringVector &val)
 Converts a StringVector to a string.
static String toString (const Vector2 &val)
 Converts a Vector2 to a String.
static String toString (const Vector3 &val)
 Converts a Vector3 to a String.
static String toString (const Vector4 &val)
 Converts a Vector4 to a String.
static String toString (Degree val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
 Converts a Degree to a String.
static String toString (double val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
 Converts a double to a String.
static String toString (float val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
 Converts a float to a String.
static String toString (int32 val)
static String toString (int32 val, unsigned short width, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
static String toString (long val)
static String toString (long val, unsigned short width, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
static String toString (Radian val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
 Converts a Radian to a String.
static String toString (StereoModeType val)
 Converts a StereoModeType to a String.
static String toString (uint32 val)
static String toString (uint32 val, unsigned short width, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
static String toString (unsigned long long val)
static String toString (unsigned long long val, unsigned short width, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
static String toString (unsigned long val)
static String toString (unsigned long val, unsigned short width, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))

Static Public Attributes

static locale_t _numLocale

Detailed Description

Class for converting the core Ogre data types to/from Strings.

Remarks
The code for converting values to and from strings is here as a separate class to avoid coupling String to other datatypes (and vice-versa) which reduces compilation dependency: important given how often the core types are used.
This class is mainly used for parsing settings in text files. External applications can also use it to interface with classes which use the StringInterface template class.
The String formats of each of the major types is listed with the methods. The basic types like int and Real just use the underlying C runtime library atof and atoi family methods, however custom types like Vector3, ColourValue and Matrix4 are also supported by this class using custom formats.

Member Function Documentation

◆ toString() [1/25]

String Ogre::StringConverter::toString ( int32 val)
inlinestatic

Referenced by toString(), and toString().

◆ toString() [2/25]

String Ogre::StringConverter::toString ( uint32 val)
inlinestatic

◆ toString() [3/25]

String Ogre::StringConverter::toString ( unsigned long val)
inlinestatic

◆ toString() [4/25]

String Ogre::StringConverter::toString ( unsigned long long val)
inlinestatic

◆ toString() [5/25]

String Ogre::StringConverter::toString ( long val)
inlinestatic

◆ toString() [6/25]

String Ogre::StringConverter::toString ( float val,
unsigned short precision = 6,
unsigned short width = 0,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

Converts a float to a String.

◆ toString() [7/25]

String Ogre::StringConverter::toString ( double val,
unsigned short precision = 6,
unsigned short width = 0,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

Converts a double to a String.

◆ toString() [8/25]

String Ogre::StringConverter::toString ( Radian val,
unsigned short precision = 6,
unsigned short width = 0,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
inlinestatic

Converts a Radian to a String.

References toString(), and Ogre::Radian::valueAngleUnits().

◆ toString() [9/25]

String Ogre::StringConverter::toString ( Degree val,
unsigned short precision = 6,
unsigned short width = 0,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
inlinestatic

Converts a Degree to a String.

References toString(), and Ogre::Degree::valueAngleUnits().

◆ toString() [10/25]

String Ogre::StringConverter::toString ( int32 val,
unsigned short width,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

◆ toString() [11/25]

String Ogre::StringConverter::toString ( uint32 val,
unsigned short width,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

◆ toString() [12/25]

String Ogre::StringConverter::toString ( unsigned long val,
unsigned short width,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

◆ toString() [13/25]

String Ogre::StringConverter::toString ( unsigned long long val,
unsigned short width,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

◆ toString() [14/25]

String Ogre::StringConverter::toString ( long val,
unsigned short width,
char fill = ' ',
std::ios::fmtflags flags = std::ios::fmtflags(0) )
static

◆ toString() [15/25]

String Ogre::StringConverter::toString ( bool val,
bool yesNo = false )
static

Converts a boolean to a String.

Parameters
val
yesNoIf set to true, result is 'yes' or 'no' instead of 'true' or 'false'

◆ toString() [16/25]

String Ogre::StringConverter::toString ( const Vector2 & val)
static

Converts a Vector2 to a String.

Remarks
Format is "x y" (i.e. 2x Real values, space delimited)

◆ toString() [17/25]

String Ogre::StringConverter::toString ( const Vector3 & val)
static

Converts a Vector3 to a String.

Remarks
Format is "x y z" (i.e. 3x Real values, space delimited)

◆ toString() [18/25]

String Ogre::StringConverter::toString ( const Vector4 & val)
static

Converts a Vector4 to a String.

Remarks
Format is "x y z w" (i.e. 4x Real values, space delimited)

◆ toString() [19/25]

String Ogre::StringConverter::toString ( const Matrix3 & val)
static

Converts a Matrix3 to a String.

Remarks
Format is "00 01 02 10 11 12 20 21 22" where '01' means row 0 column 1 etc.

◆ toString() [20/25]

String Ogre::StringConverter::toString ( const Matrix4 & val)
static

Converts a Matrix4 to a String.

Remarks
Format is "00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33" where '01' means row 0 column 1 etc.

◆ toString() [21/25]

String Ogre::StringConverter::toString ( const Quaternion & val)
static

Converts a Quaternion to a String.

Remarks
Format is "w x y z" (i.e. 4x Real values, space delimited)

◆ toString() [22/25]

String Ogre::StringConverter::toString ( const ColourValue & val)
static

Converts a ColourValue to a String.

Remarks
Format is "r g b a" (i.e. 4x Real values, space delimited).

◆ toString() [23/25]

String Ogre::StringConverter::toString ( const StringVector & val)
static

Converts a StringVector to a string.

Remarks
Strings must not contain spaces since space is used as a delimiter in the output.

◆ parse() [1/15]

bool Ogre::StringConverter::parse ( const String & str,
ColourValue & v )
static

◆ parse() [2/15]

bool Ogre::StringConverter::parse ( const String & str,
Quaternion & v )
static

◆ parse() [3/15]

bool Ogre::StringConverter::parse ( const String & str,
Matrix4 & v )
static

◆ parse() [4/15]

bool Ogre::StringConverter::parse ( const String & str,
Matrix3 & v )
static

◆ parse() [5/15]

bool Ogre::StringConverter::parse ( const String & str,
Vector4 & v )
static

◆ parse() [6/15]

bool Ogre::StringConverter::parse ( const String & str,
Vector3 & v )
static

◆ parse() [7/15]

bool Ogre::StringConverter::parse ( const String & str,
Vector2 & v )
static

◆ parse() [8/15]

bool Ogre::StringConverter::parse ( const String & str,
int32 & v )
static

◆ parse() [9/15]

bool Ogre::StringConverter::parse ( const String & str,
uint32 & v )
static

◆ parse() [10/15]

bool Ogre::StringConverter::parse ( const String & str,
int64 & v )
static

◆ parse() [11/15]

bool Ogre::StringConverter::parse ( const String & str,
unsigned long & v )
static

◆ parse() [12/15]

bool Ogre::StringConverter::parse ( const String & str,
unsigned long long & v )
static

◆ parse() [13/15]

bool Ogre::StringConverter::parse ( const String & str,
bool & v )
static

◆ parse() [14/15]

bool Ogre::StringConverter::parse ( const String & str,
double & v )
static

◆ parse() [15/15]

bool Ogre::StringConverter::parse ( const String & str,
float & v )
static

◆ parseReal()

Real Ogre::StringConverter::parseReal ( const String & val,
Real defaultValue = 0 )
inlinestatic

Converts a String to a Real.

Returns
0.0 if the value could not be parsed, otherwise the Real version of the String.

References parse().

Referenced by parseAngle().

◆ parseAngle()

Radian Ogre::StringConverter::parseAngle ( const String & val,
Radian defaultValue = Radian(0) )
inlinestatic

Converts a String to a Angle.

Returns
0.0 if the value could not be parsed, otherwise the Angle version of the String.

References parseReal().

◆ parseInt()

int32 Ogre::StringConverter::parseInt ( const String & val,
int32 defaultValue = 0 )
inlinestatic

Converts a String to a whole number.

Returns
0.0 if the value could not be parsed, otherwise the numeric version of the String.

References parse().

◆ parseUnsignedInt()

uint32 Ogre::StringConverter::parseUnsignedInt ( const String & val,
uint32 defaultValue = 0 )
inlinestatic

Converts a String to a whole number.

Returns
0.0 if the value could not be parsed, otherwise the numeric version of the String.

References parse().

◆ parseLong()

int64 Ogre::StringConverter::parseLong ( const String & val,
int64 defaultValue = 0 )
inlinestatic
Deprecated

References parse().

◆ parseUnsignedLong()

uint64 Ogre::StringConverter::parseUnsignedLong ( const String & val,
uint64 defaultValue = 0 )
inlinestatic
Deprecated

References parse().

◆ parseSizeT()

size_t Ogre::StringConverter::parseSizeT ( const String & val,
size_t defaultValue = 0 )
inlinestatic

Converts a String to size_t.

Returns
defaultValue if the value could not be parsed, otherwise the numeric version of the String.

References parse().

◆ parseBool()

bool Ogre::StringConverter::parseBool ( const String & val,
bool defaultValue = 0 )
inlinestatic

Converts a String to a boolean.

Remarks
Returns true if case-insensitive match of the start of the string matches "true", "yes", "1", or "on", false if "false", "no", "0" or "off".

References parse().

◆ parseVector2()

Vector2 Ogre::StringConverter::parseVector2 ( const String & val,
const Vector2 & defaultValue = Vector2::ZERO )
inlinestatic

Parses a Vector2 out of a String.

Remarks
Format is "x y" ie. 2 Real components, space delimited. Failure to parse returns Vector2::ZERO.

References parse().

◆ parseVector3()

Vector3 Ogre::StringConverter::parseVector3 ( const String & val,
const Vector3 & defaultValue = Vector3::ZERO )
inlinestatic

Parses a Vector3 out of a String.

Remarks
Format is "x y z" ie. 3 Real components, space delimited. Failure to parse returns Vector3::ZERO.

References parse().

◆ parseVector4()

Vector4 Ogre::StringConverter::parseVector4 ( const String & val,
const Vector4 & defaultValue = Vector4::ZERO )
inlinestatic

Parses a Vector4 out of a String.

Remarks
Format is "x y z w" ie. 4 Real components, space delimited. Failure to parse returns Vector4::ZERO.

References parse().

◆ parseMatrix3()

Matrix3 Ogre::StringConverter::parseMatrix3 ( const String & val,
const Matrix3 & defaultValue = Matrix3::IDENTITY )
inlinestatic

Parses a Matrix3 out of a String.

Remarks
Format is "00 01 02 10 11 12 20 21 22" where '01' means row 0 column 1 etc. Failure to parse returns Matrix3::IDENTITY.

References Ogre::Matrix3::IDENTITY, and parse().

◆ parseMatrix4()

Matrix4 Ogre::StringConverter::parseMatrix4 ( const String & val,
const Matrix4 & defaultValue = Matrix4::IDENTITY )
inlinestatic

Parses a Matrix4 out of a String.

Remarks
Format is "00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33" where '01' means row 0 column 1 etc. Failure to parse returns Matrix4::IDENTITY.

References Ogre::Matrix4::IDENTITY, and parse().

◆ parseQuaternion()

Quaternion Ogre::StringConverter::parseQuaternion ( const String & val,
const Quaternion & defaultValue = Quaternion::IDENTITY )
inlinestatic

Parses a Quaternion out of a String.

Remarks
Format is "w x y z" (i.e. 4x Real values, space delimited). Failure to parse returns Quaternion::IDENTITY.

References Ogre::Quaternion::IDENTITY, and parse().

◆ parseColourValue()

ColourValue Ogre::StringConverter::parseColourValue ( const String & val,
const ColourValue & defaultValue = ColourValue::Black )
inlinestatic

Parses a ColourValue out of a String.

Remarks
Format is "r g b a" (i.e. 4x Real values, space delimited), or "r g b" which implies an alpha value of 1.0 (opaque). Failure to parse returns ColourValue::Black.

References Ogre::ColourValue::Black, and parse().

◆ parseStringVector()

StringVector Ogre::StringConverter::parseStringVector ( const String & val)
inlinestatic

◆ isNumber()

bool Ogre::StringConverter::isNumber ( const String & val)
static

Checks the String is a valid number value.

◆ toString() [24/25]

String Ogre::StringConverter::toString ( ColourBufferType val)
static

◆ parseColourBuffer()

ColourBufferType Ogre::StringConverter::parseColourBuffer ( const String & val,
ColourBufferType defaultValue = CBT_BACK )
static

◆ toString() [25/25]

String Ogre::StringConverter::toString ( StereoModeType val)
static

Converts a StereoModeType to a String.

Remarks
String output format is "None", "Frame Sequential", etc.

◆ parseStereoMode()

StereoModeType Ogre::StringConverter::parseStereoMode ( const String & val,
StereoModeType defaultValue = SMT_NONE )
static

Converts a String to a StereoModeType.

Remarks
String input format should be "None", "Frame Sequential", etc.

References Ogre::SMT_NONE.

Member Data Documentation

◆ _numLocale

locale_t Ogre::StringConverter::_numLocale
static

The documentation for this class was generated from the following file: