Type Conversion Functions
Variable dmat4 (double x, double y, double z)
Casts values to the dmat4 type, returning a translation matrix.Arguments
- double x - X component of the translation vector.
- double y - Y component of the translation vector.
- double z - Z component of the translation vector.
Return value
Translation matrix.Variable dmat4 (float x, float y, float z, float angle)
Casts values to the dmat4 type, returning a rotation matrix.Arguments
- float x - X component of the rotation axis.
- float y - Y component of the rotation axis.
- float z - Z component of the rotation axis.
- float angle - Rotation angle in degrees.
Return value
Rotation matrix.Variable dmat4 (variable v)
Casts a value to the dmat4 type. The last of the matrix is always (0,0,0,1).Arguments
- variable v - Target value. Can be of the following types:
- int (all elements of the matrix except for last row will be equal to the argument)
- long
- float
- double
- vec3 (see translate() function)
- dvec3 (see translate() function)
- mat4
- dmat4
- quat
- string — it should contain 16 floating point values separated with whitespace characters, for example:
dmat4 a = dmat4(string("1 0 0 9 0 1 0 9 0 0 1 9 0 0 0 9")); dmat4 b = dmat4(string("1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 875765")); /* a and b will be identical matrices in the result: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 */
Return value
Converted value.Variable dmat4 (variable v1, variable v2)
Casts values to the dmat4 type, returning a rotation matrix. The casted values can be of the following types:- Roation axis and rotation angle: vec3 or dvec3 as the first argument and float as a second one.
- Roatation and position: quat as the first argument and dvec3 as a second one.
Arguments
- variable v1 - Rotation axis (vec3, dvec3) or rotation (quat).
- variable v2 - Rotation angle in degrees (float) if the first argument is vec3 or dvec3 or position (dvec3) if the first argument is quat.
Return value
Rotation matrix.Variable double (variable v)
Casts a value to the double type.Arguments
- variable v - Target value. Can be of the following types:
- int
- long
- float
- double
- string - its first non-whitespace characters should form a double precision floating point number. Additional characters after it will be ignored. inf and -inf are also convertible. For example:
double a = double(string("-0.05")); // a = -0.05 double b = double(string("0.87354f 1.0f")); // b = 0.87354 double c = double(string("inf")); // c = 1E+9f
Return value
Converted value.Variable dvec3 (double x, double y, double z)
Casts values to the dvec3 type.Arguments
- double x - X component of the vector.
- double y - Y component of the vector.
- double z - Z component of the vector.
Return value
Converted value.Variable dvec3 (variable v)
Casts values to the dvec3 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all components will be equal to the argument)
- long
- float
- double
- vec3
- vec4 (w component of the vector will be omitted)
- dvec3
- dvec4 (w component of the vector will be omitted)
- ivec3
- string - it should contain 3 double precision floating point numbers separated with whitespace characters, for example:
dvec3 a = dvec3(string("8.5 8.5 -0.847657946")); // a = 8.5 8.5 -0.847657946 dvec3 b = dvec3(string("10.5f character 1 75476.5")); // b = 10.5 0.0 1.0
Return value
Converted value.Variable dvec4 (double x, double y, double z, double w)
Casts values to the dvec4 type.Arguments
- double x - X component of the vector.
- double y - Y component of the vector.
- double z - Z component of the vector.
- double w - W component of the vector.
Return value
Converted value.Variable dvec4 (variable v)
Casts values to the dvec4 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all components of the vector will be equal to the argument)
- long
- float
- double
- vec3 (w component of the vector will be equal to 1)
- vec4
- dvec3 (w component of the vector will be equal to 1)
- dvec4
- ivec4
- string — it should contain 4 double precision floating point numbers separated with whitespace characters, for example:
dvec4 a = dvec4(string("0.5 0.5 -0.5 74567576.0")); // a = 0.5 0.5 -0.5 74567576.0 dvec4 b = dvec4(string("10.5f character 1 2 85646.02")); // b = 10.5 0.0 1.0 2.0
Return value
Converted value.Variable dvec4 (variable Variable, double w)
Casts values to the dvec4 type.Arguments
- variable Variable - Vector with the first three components (either vec3 or dvec3).
- double w - W component of the vector.
Return value
Converted value.variable float (variable v)
Casts a value to the float type.Arguments
- variable v - Target value. Can be of the following types:
- int
- long
- float
- double
- string — its first non-whitespace characters should form a floating point number. Additional characters after it will be ignored. inf and -inf are also convertible. For example:
float a = float(string("0.5")); // a = 0.5 float b = float(string("10.5 45")); // b = 10.5 float c = float(string("inf")); // c = 1E+9f
Return value
Converted value.variable int (variable v)
Casts a value to the int type.Arguments
- variable v - Target value. Can be of the following types:
- int
- long
- float
- double
- string — its first non-whitespace characters should form an integer number. Additional characters after it will be ignored. For example:
int a = int(string("3")); // a = 3 int b = int(string("0.4")); // b = 0 int c = int(string("3 42")); // c = 3
Return value
Converted value.variable ivec3 (int x, int y, int z)
Casts values to the ivec3 type.Arguments
- int x - X component of the vector.
- int y - Y component of the vector.
- int z - Z component of the vector.
Return value
Converted value.Variable ivec3 (variable v)
Casts a value to the ivec3 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all components will be equal to the argument)
- long
- float
- double
- vec3
- dvec3
- ivec3
- string - it should contain 3 integer numbers separated with whitespace characters, for example:
ivec3 a = ivec3(string("1 -1 42")); // a = 1 -1 42 ivec3 b = ivec3(string("10.5f character 1 768")); // b = 10 0 1
Return value
Converted value.Variable ivec4 (int x, int y, int z, int w)
Casts values to the ivec4 type.Arguments
- int x - X component of the vector.
- int y - Y component of the vector.
- int z - Z component of the vector.
- int w - W component of the vector.
Return value
Converted value.Variable ivec4 (variable v)
Casts a value to the ivec4 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all components of the vector will be equal to the argument)
- long
- float
- double
- vec4
- dvec4
- ivec4
- string — it should contain 4 integer numbers separated with whitespace characters, for example:
ivec4 a = ivec4(string("1 1 1 -1")); // a = 1 1 1 -1 ivec4 b = ivec4(string("10.5f character 1 2 658")); // b = 10 0 1 2
Return value
Converted value.Variable long (variable v)
Casts a value to the long type.Arguments
- variable v - Target value. Can be of the following types:
- int
- long
- float
- double
- string - its first non-whitespace characters should form a floating point number. Additional characters after it will be ignored. For example:
long a = long(string("8757656")); // a = 8757656 long b = long(string("34.5")); // b = 34 long c = long(string("3 42")); // c = 3
Return value
Converted value.variable mat4 (float x, float y, float z)
Casts values to the mat4 type, returning a translation matrix.Arguments
- float x - X component of the translation vector.
- float y - Y component of the translation vector.
- float z - Z component of the translation vector.
Return value
Translation matrix.Examples
mat4 a;
a = mat4(1,2,3);
/* translation matrix:
1 0 0 1
0 1 0 2
0 0 1 3
0 0 0 1
*/
variable mat4 (float x, float y, float z, float angle)
Casts values to the mat4 type, returning a rotation matrix.Arguments
- float x - X component of the rotation axis.
- float y - Y component of the rotation axis.
- float z - Z component of the rotation axis.
- float angle - Rotation angle in degrees.
Return value
Rotation matrix.Examples
mat4 a;
a = mat4(1,0,0,45);
/* rotation matrix:
1 0 0 1
0 0.7 -0.7 0
0 0.7 0.7 0
0 0 0 1
*/
variable mat4 (variable v)
Casts a value to the mat4 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all elements of the matrix will be equal to the argument)
- long
- float
- double
- vec3 (see translate() function)
- dvec3 (see translate() function)
- mat4
- dmat4
- quat
- string — it should contain 16 floating point values separated with whitespace characters, for example:
mat4 a = mat4(string("1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1")); mat4 b = mat4(string("1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 875765")); /* a and b will be identical matrices in the result: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 */
Return value
Converted value.Variable mat4 (variable v1, variable v2)
Casts values to the mat4 type, returning a rotation matrix. The casted values can be of the following types:- Roation axis and rotation angle: vec3 or dvec3 as the first argument and float as a second one.
- Roatation and position: quat as the first argument and vec3 or dvec3 as a second one.
Arguments
- variable v1 - Rotation axis (vec3, dvec3) or rotation (quat).
- variable v2 - Rotation angle in degrees (float) if the first argument is vec3 or dvec3 or position (vec3 or dvec3) if the first argument is quat.
Return value
Rotation matrix.Examples
mat4 a;
a = mat4(vec3(1,0,0),45);
/* rotation matrix:
1 0 0 1
0 0.7 -0.7 0
0 0.7 0.7 0
0 0 0 1
*/
Variable quat (float roll, float pitch, float yaw)
Casts values to the quat type, returning a rotation description.Arguments
- float roll - Roll component of the rotation.
- float pitch - Pitch component of the rotation.
- float yaw - Yaw component of the rotation.
Return value
Converted value representing a rotation.variable quat (float x, float y, float z, float angle)
Casts values to the quat type, returning a rotation description.Arguments
- float x - X component of the rotation axis.
- float y - Y component of the rotation axis.
- float z - Z component of the rotation axis.
- float angle - Rotation angle in degrees.
Return value
Converted value representing a rotation.variable quat (variable v)
Casts a value to the quat type.Arguments
- variable v - Target value. Can be of the following types:
- mat4
- dmat4
- quat
- string — it should contain 4 floating point numbers separated with whitespace characters, for example:
quat a = quat(string("0.0 0.0 0.0 1.0")); // a = 0.0 0.0 0.0 1.0 quat b = quat(string("2.5 character 2 2 564")); // a = 2.5 0.0 2.0 2.0
Return value
Converted value.Variable quat (variable axis, float angle)
Casts values to the quat type, returning a rotation description.Arguments
- variable axis - Rotation axis (vec3 or dvec3).
- float angle - Rotation angle in degrees.
Return value
Converted value representing a rotation.variable string (variable v)
Casts a value to the string type.Arguments
- variable v - Target value. Can be of the following types:
- int
- long
- float
- double
- vec3
- vec4
- dvec3
- dvec4
- mat4 (will be written in the column-major order)
- dmat4 (will be written in the column-major order)
- quat
- string
Return value
String representation of the target value.Examples
string c = string(vec3(1,2,3)); // c = "1 2 3"
string d = string(vec4(1,2,3,4)); // d = "1 2 3 4"
string e = string(quat(1,2,3,4)); // e = "0.00932728 0.0186546 0.0279819 0.999391"
string f = string(mat4(1,2,3)); // f = "1 0 0 0 0 1 0 0 0 0 1 0 1 2 3 1"
// the last row of dmat4 is not stored and is always equal to "0 0 0 1"
string g = string(dmat4("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16")); // g = "1 2 3 0 5 6 7 0 9 10 11 0 13 14 15 1"
variable vec3 (float x, float y, float z)
Casts values to the vec3 type.Arguments
- float x - X component of the vector.
- float y - Y component of the vector.
- float z - Z component of the vector.
Return value
Converted value.variable vec3 (variable v)
Casts a value to the vec3 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all components will be equal to the argument)
- long
- float
- double
- vec3
- vec4 (w component of the vector will be omitted)
- dvec3
- dvec4 (w component of the vector will be omitted)
- ivec3
- string - it should contain 3 floating point numbers separated with whitespace characters, for example:
vec3 a = vec3(string("1.5 1.5 -0.676")); // a = 1.5 1.5 -0.676 vec3 b = vec3(string("10.5f character 1 78.7")); // b = 10.5 0.0 1.0
Return value
Converted value.variable vec4 (float x, float y, float z, float w)
Casts values to the vec4 type.Arguments
- float x - X component of the vector.
- float y - Y component of the vector.
- float z - Z component of the vector.
- float w - W component of the vector.
Return value
Converted value.variable vec4 (variable v)
Casts a value to the vec4 type.Arguments
- variable v - Target value. Can be of the following types:
- int (all components of the vector will be equal to the argument)
- long
- float
- double
- vec3 (w component of the vector will be equal to 1)
- vec4
- dvec3 (w component of the vector will be equal to 1)
- dvec4
- ivec4
- string — it should contain 4 floating point numbers separated with whitespace characters, for example:
vec4 a = vec4(string("0.5 -0.5 7456.0")); // a = 0.5 0.5 -0.5 7456.0 vec4 b = vec4(string("10.5f character 1 2 856.02")); // b = 10.5 0.0 1.0 2.0
Return value
Converted value.Variable vec4 (variable Variable, float w)
Casts values to the vec4 type.Arguments
- variable Variable - Vector with the first three components (either vec3 or dvec3).
- float w - W component of the vector.
Return value
Converted value.Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)