Unigine Namespace Functions (C++)
Unigine namespace.Unigine namespace. See also the UnigineScript analog.Unigine namespace. See also the UnigineScript analog.Unigine namespace. See also the UnigineScript analog.Unigine namespace. See also the UnigineScript analog.
CallbackBase * MakeCallback (Ret(*)() func)
Makes a function callback. The function can receive up to 4 arguments.Arguments
- Ret(*)() func - Pointer to the function.
Return value
Pointer to the callback.CallbackBase * MakeCallback (Class * func)
Makes a class member function callback. The function can receive up to 4 arguments.Arguments
- Class * func - Pointer to the class member function.
Return value
Pointer to the callback.int operator== (const ControlsPtr & c0, const ControlsPtr & c1, g0, g1, i0, i1, m0, m1, m0, m1, p0, p1, m0, m1, s0, s1, s0, s1, t0, t1, t0, t1, ui0, ui1, w0, w1, x0, x1)
Checks if two controls are actually the same controls.Arguments
- const ControlsPtr & c0 - The first control.
- const ControlsPtr & c1 - The second control.
- g0 - The first gui.
- g1 - The second gui.
- i0 - Pointer to the first image.
- i1 - Pointer to the second image.
- m0 - The first material.
- m1 - The second material.
- m0 - Pointer to the first mesh.
- m1 - Pointer to the second mesh.
- p0 - Pointer to the first path.
- p1 - Pointer to the second path.
- m0 - The first property.
- m1 - The second property.
- s0 - The first shader.
- s1 - The second shader.
- s0 - The first stream.
- s1 - The second stream.
- t0 - The first texture.
- t1 - The second texture.
- t0 - The first render texture.
- t1 - The second render texture.
- ui0 - The first user interface.
- ui1 - The second user interface.
- w0 - First widget.
- w1 - Second widget.
- x0 - The first xml.
- x1 - The second xml.
Return value
Returns 1 if controls are the same; otherwise, 0 is returned.Return 1 if decals are the same; otherwise, 0.Return 1 if fields are the same; otherwise, 0 is returned.Returns 1 if guis are the same; otherwise, 0 is returned.1 if images are the same; otherwise, 0.Return 1 if lights are the same; otherwise, 0 is returned.1 if materials are the same; otherwise, 0.Returns 1 if the meshes are the same; otherwise, 0.Return 1 if nodes are the same; otherwise, 0.Returns 1 if objects are the same; otherwise, 0.Returns 1 if the paths are the same; otherwise, 0.Return 1 if physicals are the same; otherwise, 0 is returned.1 if players are the same; otherwise, 0.1 if properties are the same; otherwise, 0 is returned.Returns 1 if shaders are the same; otherwise, 0 is returned.1 if streams are the same; otherwise, 0.Returns 1 if textures are the same; otherwise, 0 is returned.Returns 1 if render textures are the same; otherwise, 0 is returned.Returns 1 if user interfaces are the same; otherwise, 0 is returned.Return 1 if widgets are the same; otherwise, 0.Returns 1 if xml are the same; otherwise, 0 is returned.int operator!= (const ControlsPtr & c0, const ControlsPtr & c1, g0, g1, i0, i1, m0, m1, m0, m1, p0, p1, m0, m1, s0, s1, s0, s1, t0, t1, t0, t1, ui0, ui1, w0, w1, x0, x1)
Checks if two controls are not the same controls.Arguments
- const ControlsPtr & c0 - The first control.
- const ControlsPtr & c1 - The second control.
- g0 - The first gui.
- g1 - The second gui.
- i0 - Pointer to the first image.
- i1 - Pointer to the second image.
- m0 - The first material.
- m1 - The second material.
- m0 - Pointer to the first mesh.
- m1 - Pointer to the second mesh.
- p0 - Pointer to the first path.
- p1 - Pointer to the second path.
- m0 - The first property.
- m1 - The second property.
- s0 - The first shader.
- s1 - The second shader.
- s0 - The first stream.
- s1 - The second stream.
- t0 - The first texture.
- t1 - The second texture.
- t0 - The first render texture.
- t1 - The second render texture.
- ui0 - The first user interface.
- ui1 - The second user interface.
- w0 - First widget.
- w1 - Second widget.
- x0 - The first xml.
- x1 - The second xml.
Return value
Returns 1 if controls are not the same; otherwise, 0 is returned.Return 1 if decals are not the same; otherwise, 0.Return 1 if fields are not the same; otherwise, 0 is returned.Returns 1 if guis are not the same; otherwise, 0 is returned.1 if images are different; otherwise, 0.Return 1 if lights are not the same; otherwise, 0 is returned.1 if materials are not the same; otherwise, 0.Returns 1 if the meshes are different; otherwise, 0.Return 1 if nodes are different; otherwise, 0.Returns 1 if objects are different; otherwise, 0.Returns 1 if the paths are different; otherwise, 0.Return 1 if physicals are not the same; otherwise, 0 is returned.1 if players are not the same; otherwise, 0.1 if properties are not the same; otherwise, 0.Returns 1 if shaders are not the same; otherwise, 0 is returned.1 if streams are not the same; otherwise, 0 is returned.Returns 1 if textures are not the same; otherwise, 0 is returned.Returns 1 if render textures are not the same; otherwise, 0 is returned.Returns 1 if user interfaces are not the same; otherwise, 0 is returned.Return 1 if widgets are different; otherwise, 0.Returns 1 if xml are not the same; otherwise, 0 is returned.UNIGINE_INLINE FunctionBase * MakeFunction ()
Makes a script function. The target function receives up to 9 arguments.Return value
Pointer to the function.UNIGINE_INLINE FunctionBase * MakeFunction (const Variable & name, int num)
Makes a script function. The target function receives up to 9 arguments.Arguments
- const Variable & name - Function name.
- int num - Number of arguments.
Return value
Pointer to the function.float normalizeAngle (float angle)
Normalizes the angle in [-180,180] range.Arguments
- float angle - Input angle.
Return value
Normalized angle.void orthoBasis (const vec3 & v, vec3 & tangent, vec3 & binormal)
Creates an ortho basis.Arguments
- const vec3 & v - Input vector.
- vec3 & tangent - Output tangent vector.
- vec3 & binormal - Output binormal vector.
void orthoBasis (const dvec3 & v, dvec3 & tangent, dvec3 & binormal)
Creates an ortho basis.Arguments
- const dvec3 & v - Input vector.
- dvec3 & tangent - Output tangent vector.
- dvec3 & binormal - Output binormal vector.
void orthoTransform (const vec3 & v, mat4 & transform)
Creates an ortho transformation.Arguments
- const vec3 & v - Input vector.
- mat4 & transform - Ortho transformation.
void orthoTransform (const dvec3 & v, dmat4 & transform)
Creates an ortho transformation.Arguments
- const dvec3 & v - Input vector.
- dmat4 & transform - Ortho transformation.
quat orthoTangent (const vec4 & tangent, const vec3 & normal)
Creates the ortho triangle tangent space basis.Arguments
- const vec4 & tangent - Tangent vector.
- const vec3 & normal - Normal vector.
Return value
The tangent basis.quat orthoTangent (const vec3 & tangent, const vec3 & binormal, const vec3 & normal)
Creates the ortho triangle tangent space basis.Arguments
- const vec3 & tangent - Tangent vector.
- const vec3 & binormal - Binormal vector.
- const vec3 & normal - Normal vector.
Return value
The tangent basis.float triangleArea (const vec3 & v0, const vec3 & v1, const vec3 & v2)
Calculates a triangle area.Arguments
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
Return value
The triangle area.double triangleArea (const dvec3 & v0, const dvec3 & v1, const dvec3 & v2)
Calculates a triangle area.Arguments
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
Return value
The triangle area.vec3 triangleNormal (const vec3 & v0, const vec3 & v1, const vec3 & v2)
Calculates a triangle normal vector.Arguments
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
Return value
The triangle normal vector.dvec3 triangleNormal (const dvec3 & v0, const dvec3 & v1, const dvec3 & v2)
Calculates a triangle normal vector.Arguments
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
Return value
The triangle normal vector.vec4 trianglePlane (const vec3 & v0, const vec3 & v1, const vec3 & v2)
Calculates a triangle plane.Arguments
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
Return value
The triangle plane.dvec4 trianglePlane (const dvec3 & v0, const dvec3 & v1, const dvec3 & v2)
Calculates a triangle plane.Arguments
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
Return value
The triangle plane.vec4 triangleTangent (const vec3 & v0, const vec3 & v1, const vec3 & v2)
Calculates a triangle tangent space.Arguments
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
Return value
The triangle tangent space vector.vec4 triangleTangent (const vec3 & v0, const vec3 & v1, const vec3 & v2, const vec2 & t0, const vec2 & t1, const vec2 & t2)
Calculates a triangle tangent space.Arguments
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
- const vec2 & t0 - The tangent vector of the first triangle vertex.
- const vec2 & t1 - The tangent vector of the second triangle vertex.
- const vec2 & t2 - The tangent vector of the third triangle vertex.
Return value
The triangle tangent space vector.int pointTriangleInside (const vec3 & point, const vec3 & v0, const vec3 & v1, const vec3 & v2)
Checks if the point is inside the triangle.Arguments
- const vec3 & point - The point.
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
Return value
1 if the point is inside the triangle; otherwise, 0.int pointTriangleInside (const dvec3 & point, const dvec3 & v0, const dvec3 & v1, const dvec3 & v2)
Checks if the point is inside the triangle.Arguments
- const dvec3 & point - The point.
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
Return value
1 if the point is inside the triangle; otherwise, 0.float pointTriangleDistance (const vec3 & point, const vec3 & v0, const vec3 & v1, const vec3 & v2, const vec4 & plane)
Calculates the closest distance to the triangle.Arguments
- const vec3 & point - The point.
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
- const vec4 & plane - Triangle plane.
Return value
Return the closest distance to the triangle.double pointTriangleDistance (const dvec3 & point, const dvec3 & v0, const dvec3 & v1, const dvec3 & v2, const dvec4 & plane)
Calculates the closest distance to the triangle.Arguments
- const dvec3 & point - The point.
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
- const dvec4 & plane - Triangle plane.
Return value
Return the closest distance to the triangle.void pointTriangleCoordinates (const vec3 & point, const vec3 & v0, const vec3 & v1, const vec3 & v2, float & a, float & b)
Calculates barycentric triangle coordinates.Arguments
- const vec3 & point - The point.
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
- float & a - The first barycentric coordinate.
- float & b - The second barycentric coordinate.
void pointTriangleCoordinates (const dvec3 & point, const dvec3 & v0, const dvec3 & v1, const dvec3 & v2, double & a, double & b)
Calculates barycentric triangle coordinates.Arguments
- const dvec3 & point - The point.
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
- double & a - The first barycentric coordinate.
- double & b - The second barycentric coordinate.
void getClosestPointOnLine (const vec3 & point, const vec3 & p0, const vec3 & p1, vec3 & ret)
Calculates the closest point on the line.Arguments
- const vec3 & point - The point.
- const vec3 & p0 - The first line point.
- const vec3 & p1 - The second line point.
- vec3 & ret - Closest point on the line.
void getClosestPointOnLine (const dvec3 & point, const dvec3 & p0, const dvec3 & p1, dvec3 & ret)
Calculates the closest point on the line.Arguments
- const dvec3 & point - The point.
- const dvec3 & p0 - The first line point.
- const dvec3 & p1 - The second line point.
- dvec3 & ret - Closest point on the line.
int getClosestPointOnTriangle (const vec3 & point, const vec3 & v0, const vec3 & v1, const vec3 & v2, vec3 & ret)
Calculates the closest point on the triangle.Arguments
- const vec3 & point - The point.
- const vec3 & v0 - The first triangle vertex.
- const vec3 & v1 - The second triangle vertex.
- const vec3 & v2 - The third triangle vertex.
- vec3 & ret - Closest point on the triangle.
Return value
1 if the point is inside the triangle; otherwise, 0.int getClosestPointOnTriangle (const dvec3 & point, const dvec3 & v0, const dvec3 & v1, const dvec3 & v2, dvec3 & ret)
Calculates the closest point on the triangle.Arguments
- const dvec3 & point - The point.
- const dvec3 & v0 - The first triangle vertex.
- const dvec3 & v1 - The second triangle vertex.
- const dvec3 & v2 - The third triangle vertex.
- dvec3 & ret - Closest point on the triangle.
Return value
1 if the point is inside the triangle; otherwise, 0.int getClosestPointsOnLines (const vec3 & p00, const vec3 & p01, const vec3 & p10, const vec3 & p11, vec3 & ret_0, vec3 & ret_1)
Calculate the closest points on the lines.Arguments
- const vec3 & p00 - The first line point.
- const vec3 & p01 - The first line point.
- const vec3 & p10 - The second line point.
- const vec3 & p11 - The second line point.
- vec3 & ret_0 - Closest point on the first line.
- vec3 & ret_1 - Closest point on the second line.
Return value
1 if the lines are crossed; otherwise, 0.int getClosestPointsOnLines (const dvec3 & p00, const dvec3 & p01, const dvec3 & p10, const dvec3 & p11, dvec3 & ret_0, dvec3 & ret_1)
Calculates the closest points on the lines.Arguments
- const dvec3 & p00 - The first line point.
- const dvec3 & p01 - The first line point.
- const dvec3 & p10 - The second line point.
- const dvec3 & p11 - The second line point.
- dvec3 & ret_0 - Closest point on the first line.
- dvec3 & ret_1 - Closest point on the second line.
Return value
1 if the lines are crossed; otherwise, 0.ExternVariableBase * MakeExternVariable (Type * variable)
Make a pointer to an external variable.Arguments
- Type * variable - Pointer to the external variable. The variable can be of the following types: int, float, vec3, vec4, dvec3, dvec4, ivec3, ivec4, mat4, dmat4, quat, string, external class or Variable.
Return value
Pointer to the variable.
template <
class Type Type
>
ExternVariableBase * MakeExternConstant
(Type variable)
Make a pointer to an external constant.Template parameters
class Type Type - Type of the variable, the supported types are: int, float, vec3, vec4, dvec3, dvec4, ivec3, ivec4, mat4, dmat4, quat, string, external class or Variable.
Arguments
- Type variable - The value of the external variable.
Return value
Pointer to the constant.ExternFunctionBase * MakeExternFunction (Ret(*)() func, const char * args)
Make a pointer to an external function. The function can receive up to 9 arguments and return void or any value of supported type.Arguments
- Ret(*)() func - Pointer to the external function.
- const char * args - Default arguments.
Return value
Pointer to the function.
template <
class Class Class, class Type Ret
>
ExternFunctionBase * MakeExternObjectFunction
(Class * object, Ret(Type::*)() func, const char * args)
Make a pointer to an external member function of the object. The function can receive up to 9 arguments and return void or any value of supported type.Template parameters
class Class Class - Type of the external class.
class Type Ret - Type of the return value.
Arguments
- Class * object - Pointer to the class object.
- Ret(Type::*)() func - Pointer to the external class member function.
- const char * args - Default arguments.
Return value
Pointer to the function.void ExternClassSaveState (const StreamPtr & stream, Class * object)
Functor for saving the constructed object state.Arguments
- const StreamPtr & stream - Write stream for the object serialization.
- Class * object - Pointer to the class object.
Class * ExternClassRestoreState (const StreamPtr & stream)
Functor for restoring the constructed object state.Arguments
- const StreamPtr & stream - Read stream for object serialization.
Return value
Pointer to the class object.void ExternClassSavePointer (const StreamPtr & stream, Class * object)
Functor for saving the external constructed object state.Arguments
- const StreamPtr & stream - Write stream for object serialization.
- Class * object - Pointer to the class object.
Class * ExternClassRestorePointer (const StreamPtr & stream)
Functor for restoring the external constructed object state.Arguments
- const StreamPtr & stream - Read stream for object serialization.
Return value
Pointer to the class object.void ExternClassDestructor (Class * object)
Functor for deleting the constructed object.Arguments
- Class * object - Pointer to the class object.
ExternClass< Class > * MakeExternClass ()
Make a pointer to an external class.Return value
Pointer to the external class.ExternClass< Class > * MakeExternClassManaged ()
Make a pointer to an external managed class.ExternClass< Class > * MakeExternClassSaveRestoreState (typename ExternClass< Class >::SaveFunc save, typename ExternClass< Class >::RestoreFunc restore)
Make a pointer to an external class with functions for saving/restoring the constructed object state.Arguments
- typename ExternClass< Class >::SaveFunc save - Functor for saving the constructed object state.
- typename ExternClass< Class >::RestoreFunc restore - Functor for restoring the constructed object state.
Return value
Pointer to the external class.ExternClass< Class > * MakeExternClassSaveRestorePointer (typename ExternClass< Class >::SaveFunc save, typename ExternClass< Class >::RestoreFunc restore)
Make a pointer to an external class with functions for saving/restoring the external constructed object state.Arguments
- typename ExternClass< Class >::SaveFunc save - Functor for saving the constructed object state.
- typename ExternClass< Class >::RestoreFunc restore - Functor for restoring the constructed object state.
Return value
Pointer to the external class.ExternClass< Class > * MakeExternClassSaveRestoreStatePointer (typename ExternClass< Class >::SaveFunc save_state, typename ExternClass< Class >::RestoreFunc restore_state, typename ExternClass< Class >::SaveFunc save_pointer, typename ExternClass< Class >::RestoreFunc restore_pointer)
Make a pointer to an external class with functions for saving/restoring the object state.Arguments
- typename ExternClass< Class >::SaveFunc save_state - Functor for saving the constructed object state.
- typename ExternClass< Class >::RestoreFunc restore_state - Functor for restoring the constructed object state.
- typename ExternClass< Class >::SaveFunc save_pointer - Functor for saving the external constructed object state.
- typename ExternClass< Class >::RestoreFunc restore_pointer - Functor for restoring the external constructed object state.
ExternClass< Class > * MakeExternClassDestructor (typename ExternClass< Class >::DestructorFunc destructor)
Make a pointer to an external class with functions for deleting the object.Arguments
- typename ExternClass< Class >::DestructorFunc destructor - Functor for deleting the constructed object.
UNIGINE_INLINE float abs (float v)
Absolute value.Arguments
- float v - The float value.
UNIGINE_INLINE double abs (double v)
Absolute value.Arguments
- double v - The doublevalue.
UNIGINE_INLINE int compare (float v0, float v1)
Compares two scalars of the float type according to the degree of precision equal to 1.0e-6f.Arguments
- float v0 - The first float scalar.
- float v1 - The second float scalar.
Return value
1 if the v0 is equal to v1; otherwise, 0.UNIGINE_INLINE int compare (double v0, double v1)
Compares two scalars of the double type according to the degree of precision equal to 1.0e-6f.Arguments
- double v0 - The first double scalar.
- double v1 - The second double scalar.
Return value
1 if the v0 is equal to v1; otherwise, 0.UNIGINE_INLINE int compare (float v0, float v1, float epsilon)
Compares two scalars of the float type according to the specified degree of precision.Arguments
- float v0 - The first scalar.
- float v1 - The second scalar.
- float epsilon - The epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.UNIGINE_INLINE int compare (double v0, double v1, double epsilon)
Compares two scalars of the double type according to the specified degree of precision.Arguments
- double v0 - The first scalar.
- double v1 - The second scalar.
- double epsilon - The epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.UNIGINE_INLINE float min (float v0, float v1)
Returns the minimum float value.Arguments
- float v0 - The first float value.
- float v1 - The second float value.
Return value
The minimum value.UNIGINE_INLINE double min (double v0, double v1)
Returns the minimum double value.Arguments
- double v0 - The first double value.
- double v1 - The second double value.
Return value
The minimum value.UNIGINE_INLINE int min (int v0, int v1)
Returns the minimum int value.Arguments
- int v0 - The first int value.
- int v1 - The second int value.
Return value
The minimum value.UNIGINE_INLINE float max (float v0, float v1)
Returns the maximum float value.Arguments
- float v0 - The first float value.
- float v1 - The second float value.
Return value
The maximum value.UNIGINE_INLINE double max (double v0, double v1)
Returns the maximum double value.Arguments
- double v0 - The first double value.
- double v1 - The second double value.
Return value
The maximum value.UNIGINE_INLINE int max (int v0, int v1)
Returns the maximum int value.Arguments
- int v0 - The first int value.
- int v1 - The second int value.
Return value
The maximum value.UNIGINE_INLINE float clamp (float v, float v0, float v1)
Clamps the value within the specified min and max limits.Arguments
- float v - The float value to be clamped.
- float v0 - The minimum float value.
- float v1 - The maximum float value.
Return value
The clamped value.UNIGINE_INLINE double clamp (double v, double v0, double v1)
Clamps the value within the specified min and max limits.Arguments
- double v - The double value.
- double v0 - The minimum double value.
- double v1 - The maximum double value.
Return value
The clamped value.UNIGINE_INLINE int clamp (int v, int v0, int v1)
Clamps the value within the specified min and max limits.Arguments
- int v - The int value.
- int v0 - The minimum int value.
- int v1 - The maximum int value.
Return value
The clamped value.UNIGINE_INLINE float lerp (float v0, float v1, float k)
Returns the interpolated value.Arguments
- float v0 - The first float value.
- float v1 - The second float value.
- float k - Interpolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE double lerp (double v0, double v1, double k)
Returns the interpolated value.Arguments
- double v0 - The first double value.
- double v1 - The second double value.
- double k - Interpolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int lerp (int v0, int v1, int k)
Returns the interpolated value.Arguments
- int v0 - The first int value.
- int v1 - The second int value.
- int k - Interpolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const vec2 & v0, const vec2 & v1)
Vector equal comparison.Arguments
- const vec2 & v0 - The first vector.
- const vec2 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const vec2 & v0, const vec2 & v1)
Vector not equal comparison.Arguments
- const vec2 & v0 - The first vector.
- const vec2 & v1 - The second vector.
UNIGINE_INLINE vec2 operator* (const vec2 & v0, float v1)
Scalar multiplication.Arguments
- const vec2 & v0 - The value of the vector.
- float v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE vec2 operator* (const vec2 & v0, const vec2 & v1)
Vector multiplication.Arguments
- const vec2 & v0 - The value of the first vector.
- const vec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE vec2 operator+ (const vec2 & v0, const vec2 & v1)
Vector addition.Arguments
- const vec2 & v0 - The value of the first vector.
- const vec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE vec2 operator- (const vec2 & v0, const vec2 & v1)
Vector subtraction.Arguments
- const vec2 & v0 - The value of the first vector.
- const vec2 & v1 - The value of the second vector.
Return value
The resulting vector.float dot (const vec2 & v0, const vec2 & v1)
Dot product of vectors.Arguments
- const vec2 & v0 - The value of the first vector.
- const vec2 & v1 - The value of the second vector.
Return value
The resulting scalar.float length (const vec2 & v)
Get the length of the three component vector.Arguments
- const vec2 & v - The value of the vector.
Return value
The length of the vector.float length2 (const vec2 & v)
Get the squared length of the three component vector.Arguments
- const vec2 & v - The value of the vector.
Return value
The squared length of the vector.vec2 normalize (const vec2 & v)
Normalize the vector.Arguments
- const vec2 & v - The value of the vector.
Return value
The normalized vector.vec2 min (const vec2 & v0, const vec2 & v1)
Returns the minimum value.Arguments
- const vec2 & v0 - The first value.
- const vec2 & v1 - The second value.
Return value
The minimum value.vec2 max (const vec2 & v0, const vec2 & v1)
Returns the maximum value.Arguments
- const vec2 & v0 - The first value.
- const vec2 & v1 - The second value.
Return value
The maximum value.vec2 clamp (const vec2 & v, const vec2 & v0, const vec2 & v1)
Clamps the value.Arguments
- const vec2 & v - The value.
- const vec2 & v0 - The minimum value.
- const vec2 & v1 - The maximum value.
Return value
The clamped value.vec2 lerp (const vec2 & v0, const vec2 & v1, float k)
Returns the interpolated value.Arguments
- const vec2 & v0 - The first value.
- const vec2 & v1 - The second value.
- float k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const vec3 & v0, const vec3 & v1)
Vector equal comparison.Arguments
- const vec3 & v0 - The first vector.
- const vec3 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const vec3 & v0, const vec3 & v1)
Vector not equal comparison.Arguments
- const vec3 & v0 - The first vector.
- const vec3 & v1 - The second vector.
UNIGINE_INLINE vec3 operator* (const vec3 & v0, float v1)
Scalar multiplication.Arguments
- const vec3 & v0 - The value of the vector.
- float v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE vec3 operator* (const vec3 & v0, const vec3 & v1)
Vector multiplication.Arguments
- const vec3 & v0 - The value of the first vector.
- const vec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE vec3 operator+ (const vec3 & v0, const vec3 & v1)
Vector addition.Arguments
- const vec3 & v0 - The value of the first vector.
- const vec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE vec3 operator- (const vec3 & v0, const vec3 & v1)
Vector subtraction.Arguments
- const vec3 & v0 - The value of the first vector.
- const vec3 & v1 - The value of the second vector.
Return value
The resulting vector.float dot (const vec3 & v0, const vec3 & v1)
Dot product of vectors.Arguments
- const vec3 & v0 - The value of the first vector.
- const vec3 & v1 - The value of the second vector.
Return value
The resulting scalar.vec3 cross (const vec3 & v0, const vec3 & v1)
Cross product of vectors.Arguments
- const vec3 & v0 - The value of the first vector.
- const vec3 & v1 - The value of the second vector.
Return value
The resulting vector.float length (const vec3 & v)
Get the length of the three component vector.Arguments
- const vec3 & v - The value of the vector.
Return value
The length of the vector.float length2 (const vec3 & v)
Get the squared length of the three component vector.Arguments
- const vec3 & v - The value of the vector.
Return value
The squared length of the vector.vec3 normalize (const vec3 & v)
Normalize the vector.Arguments
- const vec3 & v - The value of the vector.
Return value
The normalized vector.vec3 min (const vec3 & v0, const vec3 & v1)
Returns the minimum value.Arguments
- const vec3 & v0 - The first value.
- const vec3 & v1 - The second value.
Return value
The minimum value.vec3 max (const vec3 & v0, const vec3 & v1)
Returns the maximum value.Arguments
- const vec3 & v0 - The first value.
- const vec3 & v1 - The second value.
Return value
The maximum value.vec3 clamp (const vec3 & v, const vec3 & v0, const vec3 & v1)
Clamps the value.Arguments
- const vec3 & v - The value.
- const vec3 & v0 - The minimum value.
- const vec3 & v1 - The maximum value.
Return value
The clamped value.vec3 lerp (const vec3 & v0, const vec3 & v1, float k)
Returns the interpolated value.Arguments
- const vec3 & v0 - The first value.
- const vec3 & v1 - The second value.
- float k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const vec4 & v0, const vec4 & v1)
Vector equal comparison.Arguments
- const vec4 & v0 - The first vector.
- const vec4 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const vec4 & v0, const vec4 & v1)
Vector not equal comparison.Arguments
- const vec4 & v0 - The first vector.
- const vec4 & v1 - The second vector.
UNIGINE_INLINE vec4 operator* (const vec4 & v0, float v1)
Scalar multiplication.Arguments
- const vec4 & v0 - The value of the vector.
- float v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE vec4 operator* (const vec4 & v0, const vec4 & v1)
Vector multiplication.Arguments
- const vec4 & v0 - The value of the first vector.
- const vec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE vec4 operator+ (const vec4 & v0, const vec4 & v1)
Vector addition.Arguments
- const vec4 & v0 - The value of the first vector.
- const vec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE vec4 operator- (const vec4 & v0, const vec4 & v1)
Vector subtraction.Arguments
- const vec4 & v0 - The value of the first vector.
- const vec4 & v1 - The value of the second vector.
Return value
The resulting vector.float dot (const vec3 & v0, const vec4 & v1)
Dot product of vectors.Arguments
- const vec3 & v0 - The value of the first vector.
- const vec4 & v1 - The value of the second vector.
Return value
The resulting scalar.float dot (const vec4 & v0, const vec3 & v1)
Dot product of vectors.Arguments
- const vec4 & v0 - The value of the first vector.
- const vec3 & v1 - The value of the second vector.
Return value
The resulting scalar.float dot (const vec4 & v0, const vec4 & v1)
Dot product of vectors.Arguments
- const vec4 & v0 - The value of the first vector.
- const vec4 & v1 - The value of the second vector.
Return value
The resulting scalar.float length (const vec4 & v)
Get the length of the four component vector.Arguments
- const vec4 & v - The value of the vector.
Return value
The length of the vector.float length2 (const vec4 & v)
Get the squared length of the four component vector.Arguments
- const vec4 & v - The value of the vector.
Return value
The squared length of the vector.vec4 normalize (const vec4 & v)
Normalize the vector.Arguments
- const vec4 & v - The value of the vector.
Return value
The normalized vector.vec4 min (const vec4 & v0, const vec4 & v1)
Returns the minimum value.Arguments
- const vec4 & v0 - The first value.
- const vec4 & v1 - The second value.
Return value
The minimum value.vec4 max (const vec4 & v0, const vec4 & v1)
Returns the maximum value.Arguments
- const vec4 & v0 - The first value.
- const vec4 & v1 - The second value.
Return value
The maximum value.vec4 clamp (const vec4 & v, const vec4 & v0, const vec4 & v1)
Clamps the value.Arguments
- const vec4 & v - The value.
- const vec4 & v0 - The minimum value.
- const vec4 & v1 - The maximum value.
Return value
The clamped value.vec4 lerp (const vec4 & v0, const vec4 & v1, float k)
Returns the interpolated value.Arguments
- const vec4 & v0 - The first value.
- const vec4 & v1 - The second value.
- float k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const dvec2 & v0, const dvec2 & v1)
Vector equal comparison.Arguments
- const dvec2 & v0 - The first vector.
- const dvec2 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const dvec2 & v0, const dvec2 & v1)
Vector not equal comparison.Arguments
- const dvec2 & v0 - The first vector.
- const dvec2 & v1 - The second vector.
UNIGINE_INLINE dvec2 operator* (const dvec2 & v0, double v1)
Scalar multiplication.Arguments
- const dvec2 & v0 - The value of the vector.
- double v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE dvec2 operator* (const dvec2 & v0, const dvec2 & v1)
Vector multiplication.Arguments
- const dvec2 & v0 - The value of the first vector.
- const dvec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE dvec2 operator+ (const dvec2 & v0, const dvec2 & v1)
Vector addition.Arguments
- const dvec2 & v0 - The value of the first vector.
- const dvec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE dvec2 operator- (const dvec2 & v0, const dvec2 & v1)
Vector subtraction.Arguments
- const dvec2 & v0 - The value of the first vector.
- const dvec2 & v1 - The value of the second vector.
Return value
The resulting vector.double dot (const dvec2 & v0, const dvec2 & v1)
Dot product of vectors.Arguments
- const dvec2 & v0 - The value of the first vector.
- const dvec2 & v1 - The value of the second vector.
Return value
The resulting scalar.double length (const dvec2 & v)
Get the length of the three component vector.Arguments
- const dvec2 & v - The value of the vector.
Return value
The length of the vector.double length2 (const dvec2 & v)
Get the squared length of the three component vector.Arguments
- const dvec2 & v - The value of the vector.
Return value
The squared length of the vector.dvec2 normalize (const dvec2 & v)
Normalize the vector.Arguments
- const dvec2 & v - The value of the vector.
Return value
The normalized vector.dvec2 min (const dvec2 & v0, const dvec2 & v1)
Returns the minimum value.Arguments
- const dvec2 & v0 - The first value.
- const dvec2 & v1 - The second value.
Return value
The minimum value.dvec2 max (const dvec2 & v0, const dvec2 & v1)
Returns the maximum value.Arguments
- const dvec2 & v0 - The first value.
- const dvec2 & v1 - The second value.
Return value
The maximum value.dvec2 clamp (const dvec2 & v, const dvec2 & v0, const dvec2 & v1)
Clamps the value.Arguments
- const dvec2 & v - The value.
- const dvec2 & v0 - The minimum value.
- const dvec2 & v1 - The maximum value.
Return value
The clamped value.dvec2 lerp (const dvec2 & v0, const dvec2 & v1, double k)
Returns the interpolated value.Arguments
- const dvec2 & v0 - The first value.
- const dvec2 & v1 - The second value.
- double k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const dvec3 & v0, const dvec3 & v1)
Vector equal comparison.Arguments
- const dvec3 & v0 - The first vector.
- const dvec3 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const dvec3 & v0, const dvec3 & v1)
Vector not equal comparison.Arguments
- const dvec3 & v0 - The first vector.
- const dvec3 & v1 - The second vector.
UNIGINE_INLINE dvec3 operator* (const dvec3 & v0, double v1)
Scalar multiplication.Arguments
- const dvec3 & v0 - The value of the vector.
- double v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE dvec3 operator* (const dvec3 & v0, const dvec3 & v1)
Vector multiplication.Arguments
- const dvec3 & v0 - The value of the first vector.
- const dvec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE dvec3 operator+ (const dvec3 & v0, const dvec3 & v1)
Vector addition.Arguments
- const dvec3 & v0 - The value of the first vector.
- const dvec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE dvec3 operator- (const dvec3 & v0, const dvec3 & v1)
Vector subtraction.Arguments
- const dvec3 & v0 - The value of the first vector.
- const dvec3 & v1 - The value of the second vector.
Return value
The resulting vector.double dot (const dvec3 & v0, const dvec3 & v1)
Dot product of vectors.Arguments
- const dvec3 & v0 - The value of the first vector.
- const dvec3 & v1 - The value of the second vector.
Return value
The resulting scalar.dvec3 cross (const dvec3 & v0, const dvec3 & v1)
Cross product of vectors.Arguments
- const dvec3 & v0 - The value of the first vector.
- const dvec3 & v1 - The value of the second vector.
Return value
The resulting vector.double length (const dvec3 & v)
Get the length of the three component vector.Arguments
- const dvec3 & v - The value of the vector.
Return value
The length of the vector.double length2 (const dvec3 & v)
Get the squared length of the three component vector.Arguments
- const dvec3 & v - The value of the vector.
Return value
The squared length of the vector.dvec3 normalize (const dvec3 & v)
Normalize the vector.Arguments
- const dvec3 & v - The value of the vector.
Return value
The normalized vector.dvec3 min (const dvec3 & v0, const dvec3 & v1)
Returns the minimum value.Arguments
- const dvec3 & v0 - The first value.
- const dvec3 & v1 - The second value.
Return value
The minimum value.dvec3 max (const dvec3 & v0, const dvec3 & v1)
Returns the maximum value.Arguments
- const dvec3 & v0 - The first value.
- const dvec3 & v1 - The second value.
Return value
The maximum value.dvec3 clamp (const dvec3 & v, const dvec3 & v0, const dvec3 & v1)
Clamps the value.Arguments
- const dvec3 & v - The value.
- const dvec3 & v0 - The minimum value.
- const dvec3 & v1 - The maximum value.
Return value
The clamped value.dvec3 lerp (const dvec3 & v0, const dvec3 & v1, double k)
Returns the interpolated value.Arguments
- const dvec3 & v0 - The first value.
- const dvec3 & v1 - The second value.
- double k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const dvec4 & v0, const dvec4 & v1)
Vector equal comparison.Arguments
- const dvec4 & v0 - The first vector.
- const dvec4 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const dvec4 & v0, const dvec4 & v1)
Vector not equal comparison.Arguments
- const dvec4 & v0 - The first vector.
- const dvec4 & v1 - The second vector.
UNIGINE_INLINE dvec4 operator* (const dvec4 & v0, double v1)
Scalar multiplication.Arguments
- const dvec4 & v0 - The value of the vector.
- double v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE dvec4 operator* (const dvec4 & v0, const dvec4 & v1)
Vector multiplication.Arguments
- const dvec4 & v0 - The value of the first vector.
- const dvec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE dvec4 operator+ (const dvec4 & v0, const dvec4 & v1)
Vector addition.Arguments
- const dvec4 & v0 - The value of the first vector.
- const dvec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE dvec4 operator- (const dvec4 & v0, const dvec4 & v1)
Vector subtraction.Arguments
- const dvec4 & v0 - The value of the first vector.
- const dvec4 & v1 - The value of the second vector.
Return value
The resulting vector.double dot (const dvec3 & v0, const dvec4 & v1)
Dot product of vectors.Arguments
- const dvec3 & v0 - The value of the first vector.
- const dvec4 & v1 - The value of the second vector.
Return value
The resulting scalar.double dot (const dvec4 & v0, const dvec3 & v1)
Dot product of vectors.Arguments
- const dvec4 & v0 - The value of the first vector.
- const dvec3 & v1 - The value of the second vector.
Return value
The resulting scalar.double dot (const dvec4 & v0, const dvec4 & v1)
Dot product of vectors.Arguments
- const dvec4 & v0 - The value of the first vector.
- const dvec4 & v1 - The value of the second vector.
Return value
The resulting scalar.double length (const dvec4 & v)
Get the length of the four component vector.Arguments
- const dvec4 & v - The value of the vector.
Return value
The length of the vector.double length2 (const dvec4 & v)
Get the squared length of the four component vector.Arguments
- const dvec4 & v - The value of the vector.
Return value
The squared length of the vector.dvec4 normalize (const dvec4 & v)
Normalize the vector.Arguments
- const dvec4 & v - The value of the vector.
Return value
The normalized vector.dvec4 min (const dvec4 & v0, const dvec4 & v1)
Returns the minimum value.Arguments
- const dvec4 & v0 - The first value.
- const dvec4 & v1 - The second value.
Return value
The minimum value.dvec4 max (const dvec4 & v0, const dvec4 & v1)
Returns the maximum value.Arguments
- const dvec4 & v0 - The first value.
- const dvec4 & v1 - The second value.
Return value
The maximum value.dvec4 clamp (const dvec4 & v, const dvec4 & v0, const dvec4 & v1)
Clamps the value.Arguments
- const dvec4 & v - The value.
- const dvec4 & v0 - The minimum value.
- const dvec4 & v1 - The maximum value.
Return value
The clamped value.dvec4 lerp (const dvec4 & v0, const dvec4 & v1, double k)
Returns the interpolated value.Arguments
- const dvec4 & v0 - The first value.
- const dvec4 & v1 - The second value.
- double k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const ivec2 & v0, const ivec2 & v1)
Vector equal comparison.Arguments
- const ivec2 & v0 - The first vector.
- const ivec2 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const ivec2 & v0, const ivec2 & v1)
Vector not equal comparison.Arguments
- const ivec2 & v0 - The first vector.
- const ivec2 & v1 - The second vector.
UNIGINE_INLINE ivec2 operator* (const ivec2 & v0, int v1)
Scalar multiplication.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator* (const ivec2 & v0, const ivec2 & v1)
Vector multiplication.Arguments
- const ivec2 & v0 - The value of the first vector.
- const ivec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator/ (const ivec2 & v0, int v1)
Scalar division.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator/ (const ivec2 & v0, const ivec2 & v1)
Vector division.Arguments
- const ivec2 & v0 - The value of the first vector.
- const ivec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator+ (const ivec2 & v0, const ivec2 & v1)
Vector addition.Arguments
- const ivec2 & v0 - The value of the first vector.
- const ivec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator- (const ivec2 & v0, const ivec2 & v1)
Vector subtraction.Arguments
- const ivec2 & v0 - The value of the first vector.
- const ivec2 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator<< (const ivec2 & v0, int v1)
Left bit shift.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
The resulting vector.UNIGINE_INLINE ivec2 operator>> (const ivec2 & v0, int v1)
Right bit shift.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
The resulting vector.int dot (const ivec2 & v0, const ivec2 & v1)
Dot product of vectors.Arguments
- const ivec2 & v0 - The value of the first vector.
- const ivec2 & v1 - The value of the second vector.
Return value
The resulting scalar.int dot (const ivec4 & v0, const ivec3 & v1)
Dot product of vectors.Arguments
- const ivec4 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting scalar.int dot (const ivec4 & v0, const ivec4 & v1)
Dot product of vectors.Arguments
- const ivec4 & v0 - The value of the first vector.
- const ivec4 & v1 - The value of the second vector.
Return value
The resulting scalar.int length2 (const ivec2 & v)
Get the squared length of the three component vector.Arguments
- const ivec2 & v - The value of the vector.
Return value
The squared length of the vector.ivec2 min (const ivec2 & v0, const ivec2 & v1)
Returns the minimum value.Arguments
- const ivec2 & v0 - The first value.
- const ivec2 & v1 - The second value.
Return value
The minimum value.ivec2 max (const ivec2 & v0, const ivec2 & v1)
Returns the maximum value.Arguments
- const ivec2 & v0 - The first value.
- const ivec2 & v1 - The second value.
Return value
The maximum value.ivec2 clamp (const ivec2 & v, const ivec2 & v0, const ivec2 & v1)
Clamps the value.Arguments
- const ivec2 & v - The value.
- const ivec2 & v0 - The minimum value.
- const ivec2 & v1 - The maximum value.
Return value
The clamped value.ivec2 lerp (const ivec2 & v0, const ivec2 & v1, int k)
Returns the interpolated value.Arguments
- const ivec2 & v0 - The first value.
- const ivec2 & v1 - The second value.
- int k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const ivec3 & v0, const ivec3 & v1)
Vector equal comparison.Arguments
- const ivec3 & v0 - The first vector.
- const ivec3 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const ivec3 & v0, const ivec3 & v1)
Vector not equal comparison.Arguments
- const ivec3 & v0 - The first vector.
- const ivec3 & v1 - The second vector.
UNIGINE_INLINE ivec3 operator* (const ivec3 & v0, int v1)
Scalar multiplication.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator* (const ivec3 & v0, const ivec3 & v1)
Vector multiplication.Arguments
- const ivec3 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator/ (const ivec3 & v0, int v1)
Scalar division.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator/ (const ivec3 & v0, const ivec3 & v1)
Vector division.Arguments
- const ivec3 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator+ (const ivec3 & v0, const ivec3 & v1)
Vector addition.Arguments
- const ivec3 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator- (const ivec3 & v0, const ivec3 & v1)
Vector subtraction.Arguments
- const ivec3 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator<< (const ivec3 & v0, int v1)
Left bit shift.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
The resulting vector.UNIGINE_INLINE ivec3 operator>> (const ivec3 & v0, int v1)
Right bit shift.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
The resulting vector.int dot (const ivec3 & v0, const ivec3 & v1)
Dot product of vectors.Arguments
- const ivec3 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting scalar.ivec3 cross (const ivec3 & v0, const ivec3 & v1)
Cross product of vectors.Arguments
- const ivec3 & v0 - The value of the first vector.
- const ivec3 & v1 - The value of the second vector.
Return value
The resulting vector.int length2 (const ivec3 & v)
Get the squared length of the three component vector.Arguments
- const ivec3 & v - The value of the vector.
Return value
The squared length of the vector.ivec3 min (const ivec3 & v0, const ivec3 & v1)
Returns the minimum value.Arguments
- const ivec3 & v0 - The first value.
- const ivec3 & v1 - The second value.
Return value
The minimum value.ivec3 max (const ivec3 & v0, const ivec3 & v1)
Returns the maximum value.Arguments
- const ivec3 & v0 - The first value.
- const ivec3 & v1 - The second value.
Return value
The maximum value.ivec3 clamp (const ivec3 & v, const ivec3 & v0, const ivec3 & v1)
Clamps the value.Arguments
- const ivec3 & v - The value.
- const ivec3 & v0 - The minimum value.
- const ivec3 & v1 - The maximum value.
Return value
The clamped value.ivec3 lerp (const ivec3 & v0, const ivec3 & v1, int k)
Returns the interpolated value.Arguments
- const ivec3 & v0 - The first value.
- const ivec3 & v1 - The second value.
- int k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const ivec4 & v0, const ivec4 & v1)
Vector equal comparison.Arguments
- const ivec4 & v0 - The first vector.
- const ivec4 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const ivec4 & v0, const ivec4 & v1)
Vector not equal comparison.Arguments
- const ivec4 & v0 - The first vector.
- const ivec4 & v1 - The second vector.
UNIGINE_INLINE ivec4 operator* (const ivec4 & v0, int v1)
Scalar multiplication.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator* (const ivec4 & v0, const ivec4 & v1)
Vector multiplication.Arguments
- const ivec4 & v0 - The value of the first vector.
- const ivec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator/ (const ivec4 & v0, int v1)
Scalar division.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator/ (const ivec4 & v0, const ivec4 & v1)
Vector division.Arguments
- const ivec4 & v0 - The value of the first vector.
- const ivec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator+ (const ivec4 & v0, const ivec4 & v1)
Vector addition.Arguments
- const ivec4 & v0 - The value of the first vector.
- const ivec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator- (const ivec4 & v0, const ivec4 & v1)
Vector subtraction.Arguments
- const ivec4 & v0 - The value of the first vector.
- const ivec4 & v1 - The value of the second vector.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator<< (const ivec4 & v0, int v1)
Left bit shift.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
The resulting vector.UNIGINE_INLINE ivec4 operator>> (const ivec4 & v0, int v1)
Right bit shift.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
The resulting vector.int length2 (const ivec4 & v)
Get the squared length of the three component vector.Arguments
- const ivec4 & v - The value of the vector.
Return value
The squared length of the vector.ivec4 min (const ivec4 & v0, const ivec4 & v1)
Returns the minimum value.Arguments
- const ivec4 & v0 - The first value.
- const ivec4 & v1 - The second value.
Return value
The minimum value.ivec4 max (const ivec4 & v0, const ivec4 & v1)
Returns the maximum value.Arguments
- const ivec4 & v0 - The first value.
- const ivec4 & v1 - The second value.
Return value
The maximum value.ivec4 clamp (const ivec4 & v, const ivec4 & v0, const ivec4 & v1)
Clamps the value.Arguments
- const ivec4 & v - The value.
- const ivec4 & v0 - The minimum value.
- const ivec4 & v1 - The maximum value.
Return value
The clamped value.ivec4 lerp (const ivec4 & v0, const ivec4 & v1, int k)
Returns the interpolated value.Arguments
- const ivec4 & v0 - The first value.
- const ivec4 & v1 - The second value.
- int k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE int operator== (const bvec4 & v0, const bvec4 & v1)
Vector equal comparison.Arguments
- const bvec4 & v0 - The first vector.
- const bvec4 & v1 - The second vector.
UNIGINE_INLINE int operator!= (const bvec4 & v0, const bvec4 & v1)
Vector not equal comparison.Arguments
- const bvec4 & v0 - The first vector.
- const bvec4 & v1 - The second vector.
bvec4 min (const bvec4 & v0, const bvec4 & v1)
Returns the minimum value.Arguments
- const bvec4 & v0 - The first value.
- const bvec4 & v1 - The second value.
Return value
The minimum value.bvec4 max (const bvec4 & v0, const bvec4 & v1)
Returns the maximum value.Arguments
- const bvec4 & v0 - The first value.
- const bvec4 & v1 - The second value.
Return value
The maximum value.bvec4 clamp (const bvec4 & v, const bvec4 & v0, const bvec4 & v1)
Clamps the value.Arguments
- const bvec4 & v - The value.
- const bvec4 & v0 - The minimum value.
- const bvec4 & v1 - The maximum value.
Return value
The clamped value.int operator== (const mat4 & m0, const mat4 & m1)
Matrix equal comparison.Arguments
- const mat4 & m0 - The first matrix.
- const mat4 & m1 - The second matrix.
int operator!= (const mat4 & m0, const mat4 & m1)
Matrix not equal comparison.Arguments
- const mat4 & m0 - The first matrix.
- const mat4 & m1 - The second matrix.
mat4 operator* (const mat4 & m, const float v)
Matrix multiplication.Arguments
- const mat4 & m - The value of the matrix.
- const float v - The value of the scalar.
Return value
The resulting matrix.vec3 operator* (const mat4 & m, const vec3 & v)
Vector multiplication.Arguments
- const mat4 & m - The value of the matrix.
- const vec3 & v - The value of the vector.
Return value
The resulting vector.vec3 operator* (const vec3 & v, const mat4 & m)
Vector multiplication.Arguments
- const vec3 & v - The value of the vector.
- const mat4 & m - The value of the matrix.
Return value
The resulting vector.vec4 operator* (const mat4 & m, const vec4 & v)
Vector multiplication.Arguments
- const mat4 & m - The value of the matrix.
- const vec4 & v - The value of the vector.
Return value
The resulting vector.vec4 operator* (const vec4 & v, const mat4 & m)
Vector multiplication.Arguments
- const vec4 & v - The value of the vector.
- const mat4 & m - The value of the matrix.
Return value
The resulting vector.dvec3 operator* (const mat4 & m, const dvec3 & v)
Vector multiplication.Arguments
- const mat4 & m - The value of the matrix.
- const dvec3 & v - The value of the vector.
Return value
The resulting vector.dvec3 operator* (const dvec3 & v, const mat4 & m)
Vector multiplication.Arguments
- const dvec3 & v - The value of the vector.
- const mat4 & m - The value of the matrix.
Return value
The resulting vector.dvec4 operator* (const mat4 & m, const dvec4 & v)
Vector multiplication.Arguments
- const mat4 & m - The value of the matrix.
- const dvec4 & v - The value of the vector.
Return value
The resulting vector.dvec4 operator* (const dvec4 & v, const mat4 & m)
Vector multiplication.Arguments
- const dvec4 & v - The value of the vector.
- const mat4 & m - The value of the matrix.
Return value
The resulting vector.mat4 operator* (const mat4 & m0, const mat4 & m1)
Matrix multiplication.Arguments
- const mat4 & m0 - The value of the first matrix.
- const mat4 & m1 - The value of the second matrix.
Return value
The resulting matrix.mat4 operator+ (const mat4 & m0, const mat4 & m1)
Matrix addition.Arguments
- const mat4 & m0 - The value of the first matrix.
- const mat4 & m1 - The value of the second matrix.
Return value
The resulting matrix.mat4 operator- (const mat4 & m0, const mat4 & m1)
Matrix subtraction.Arguments
- const mat4 & m0 - The value of the first matrix.
- const mat4 & m1 - The value of the second matrix.
Return value
The resulting matrix.mat4 rotation (const mat4 & m)
Return rotation matrix.Arguments
- const mat4 & m - The value of the matrix.
Return value
The resulting matrix.mat4 transpose (const mat4 & m)
Return transpose matrix.Arguments
- const mat4 & m - The value of the matrix.
Return value
The resulting matrix.mat4 transpose3 (const mat4 & m)
Return transposed rotation matrix.Arguments
- const mat4 & m - The value of the matrix.
Return value
The resulting matrix.mat4 inverse (const mat4 & m)
Return inverse of 4x4 matrix.Arguments
- const mat4 & m - The value of the matrix.
Return value
The resulting matrix.mat4 inverse4 (const mat4 & m)
Return inverse of 3x4 matrix.Arguments
- const mat4 & m - The value of the matrix.
Return value
The resulting matrix.mat4 translate (const vec3 & v)
Return translation matrix.Arguments
- const vec3 & v - The value of the translation vector.
Return value
The resulting matrix.mat4 rotate (const vec3 & axis, float angle)
Return rotation matrix.Arguments
- const vec3 & axis - Rotation axis.
- float angle - Rotation angle (in degrees).
Return value
The resulting matrix.mat4 rotateX (float angle)
Return X rotation matrix.Arguments
- float angle - Rotation angle (in degrees).
Return value
The resulting matrix.mat4 rotateY (float angle)
Return Y rotation matrix.Arguments
- float angle - Rotation angle (in degrees).
Return value
The resulting matrix.mat4 rotateZ (float angle)
Return Z rotation matrix.Arguments
- float angle - Rotation angle (in degrees).
Return value
The resulting matrix.mat4 scale (const vec3 & v)
Return scaling matrix.Arguments
- const vec3 & v - The value of the scaling vector.
Return value
The resulting matrix.mat4 reflect (const vec4 & plane)
Return reflection matrix.Arguments
- const vec4 & plane - Reflection plane.
Return value
The reflection matrix.mat4 ortho (float left, float right, float bottom, float top, float znear, float zfar)
Return parallel projection matrix.Arguments
- float left - Left vertical clipping plane.
- float right - Right vertical clipping plane.
- float bottom - Bottom horizontal clipping plane.
- float top - Top horizontal clipping plane.
- float znear - Near depth clipping plane.
- float zfar - Far depth clipping plane.
Return value
The parallel projection matrix.mat4 frustum (float left, float right, float bottom, float top, float znear, float zfar)
Return perspective projection matrix.Arguments
- float left - Left vertical clipping plane.
- float right - Right vertical clipping plane.
- float bottom - Bottom horizontal clipping plane.
- float top - Top horizontal clipping plane.
- float znear - Near depth clipping plane.
- float zfar - Far depth clipping plane.
Return value
The perspective projection matrix.mat4 perspective (float fov, float aspect, float znear, float zfar)
Return perspective projection matrix.Arguments
- float fov - Field of view angle.
- float aspect - Aspect ratio of width to height.
- float znear - Near depth clipping plane.
- float zfar - Far depth clipping plane.
Return value
The perspective projection matrix.mat4 setTo (const vec3 & position, const vec3 & direction, const vec3 & up)
Return placing matrix.Arguments
- const vec3 & position - Position coordinates of the target point.
- const vec3 & direction - Direction of the vector.
- const vec3 & up - Direction of the up vector.
Return value
The placing matrix.mat4 lookAt (const vec3 & position, const vec3 & direction, const vec3 & up)
Return viewing matrix.Arguments
- const vec3 & position - Position coordinates of the target point.
- const vec3 & direction - Direction of the vector.
- const vec3 & up - Direction of the up vector.
Return value
The viewing matrix.mat4 obliqueProjection (const mat4 & projection, const vec4 & plane)
Return oblique projection matrix.Arguments
- const mat4 & projection - Projection matrix.
- const vec4 & plane - Clipping plane.
Return value
The oblique projection matrix.mat4 symmetryProjection (const mat4 & projection)
Return symmetry projection matrix.Arguments
- const mat4 & projection - Projection matrix.
Return value
The symmetry projection matrix.mat4 hardwareProjection (const mat4 & projection)
Return hardware projection matrix.Arguments
- const mat4 & projection - Projection matrix.
Return value
The hardware projection matrix.mat4 cubeTransform (int face)
Return cube transformation matrix.Arguments
- int face - Cube face.
Return value
The cube matrix.void decomposeTransform (const mat4 & m, vec4 & position, quat & rot)
Decompose transformation.Arguments
- const mat4 & m - The value of the matrix.
- vec4 & position - Position part of transformation.
- quat & rot - Rotation part of transformation.
mat4 composeTransform (const vec4 & position, const quat & rot)
Compose transformation.Arguments
- const vec4 & position - Position part of transformation.
- const quat & rot - Rotation part of transformation.
Return value
The transformation matrix.void decomposeTransform (const mat4 & m, vec3 & position, quat & rot, vec3 & scale)
Decompose transformation.Arguments
- const mat4 & m - The value of the matrix.
- vec3 & position - Position part of transformation.
- quat & rot - Rotation part of transformation.
- vec3 & scale - Scale part of transformation.
mat4 composeTransform (const vec3 & position, const quat & rot, const vec3 & scale)
Compose transformation.Arguments
- const vec3 & position - Position part of transformation.
- const quat & rot - Rotation part of transformation.
- const vec3 & scale - Scale part of transformation.
Return value
The transformation matrix.void decomposeProjection (const mat4 & projection, float & znear, float & zfar)
Decompose projection matrix.Arguments
- const mat4 & projection - The projection matrix.
- float & znear - Near clipping plane.
- float & zfar - Far clipping plane.
int operator== (const dmat4 & m0, const dmat4 & m1)
Matrix equal comparison.Arguments
- const dmat4 & m0 - The first matrix.
- const dmat4 & m1 - The second matrix.
int operator!= (const dmat4 & m0, const dmat4 & m1)
Matrix not equal comparison.Arguments
- const dmat4 & m0 - The first matrix.
- const dmat4 & m1 - The second matrix.
dmat4 operator* (const dmat4 & m, const double v)
Matrix multiplication.Arguments
- const dmat4 & m - The value of the matrix.
- const double v - The value of the scalar.
Return value
The resulting matrix.vec3 operator* (const dmat4 & m, const vec3 & v)
Vector multiplication.Arguments
- const dmat4 & m - The value of the matrix.
- const vec3 & v - The value of the vector.
Return value
The resulting vector.vec3 operator* (const vec3 & v, const dmat4 & m)
Vector multiplication.Arguments
- const vec3 & v - The value of the vector.
- const dmat4 & m - The value of the matrix.
Return value
The resulting vector.vec4 operator* (const dmat4 & m, const vec4 & v)
Vector multiplication.Arguments
- const dmat4 & m - The value of the matrix.
- const vec4 & v - The value of the vector.
Return value
The resulting vector.vec4 operator* (const vec4 & v, const dmat4 & m)
Vector multiplication.Arguments
- const vec4 & v - The value of the vector.
- const dmat4 & m - The value of the matrix.
Return value
The resulting vector.dvec3 operator* (const dmat4 & m, const dvec3 & v)
Vector multiplication.Arguments
- const dmat4 & m - The value of the matrix.
- const dvec3 & v - The value of the vector.
Return value
The resulting vector.dvec3 operator* (const dvec3 & v, const dmat4 & m)
Vector multiplication.Arguments
- const dvec3 & v - The value of the vector.
- const dmat4 & m - The value of the matrix.
Return value
The resulting vector.dvec4 operator* (const dmat4 & m, const dvec4 & v)
Vector multiplication.Arguments
- const dmat4 & m - The value of the matrix.
- const dvec4 & v - The value of the vector.
Return value
The resulting vector.dvec4 operator* (const dvec4 & v, const dmat4 & m)
Vector multiplication.Arguments
- const dvec4 & v - The value of the vector.
- const dmat4 & m - The value of the matrix.
Return value
The resulting vector.dmat4 operator* (const dmat4 & m0, const dmat4 & m1)
Matrix multiplication.Arguments
- const dmat4 & m0 - The value of the first matrix.
- const dmat4 & m1 - The value of the second matrix.
Return value
The resulting matrix.dmat4 operator+ (const dmat4 & m0, const dmat4 & m1)
Matrix addition.Arguments
- const dmat4 & m0 - The value of the first matrix.
- const dmat4 & m1 - The value of the second matrix.
Return value
The resulting matrix.dmat4 operator- (const dmat4 & m0, const dmat4 & m1)
Matrix subtraction.Arguments
- const dmat4 & m0 - The value of the first matrix.
- const dmat4 & m1 - The value of the second matrix.
Return value
The resulting matrix.dmat4 rotation (const dmat4 & m)
Return rotation matrix.Arguments
- const dmat4 & m - The value of the matrix.
Return value
The resulting matrix.dmat4 inverse (const dmat4 & m)
Return inverse matrix.Arguments
- const dmat4 & m - The value of the first matrix.
Return value
The resulting matrix.dmat4 translate (const dvec3 & v)
Return translation matrix.Arguments
- const dvec3 & v - The value of the translation vector.
Return value
The resulting matrix.dmat4 rotate (const dvec3 & axis, double angle)
Return rotation matrix.Arguments
- const dvec3 & axis - Rotation axis.
- double angle - Rotation angle (in degrees).
Return value
The resulting matrix.dmat4 rotateX (double angle)
Return X rotation matrix.Arguments
- double angle - Rotation angle (in degrees).
Return value
The resulting matrix.dmat4 rotateY (double angle)
Return Y rotation matrix.Arguments
- double angle - Rotation angle (in degrees).
Return value
The resulting matrix.dmat4 rotateZ (double angle)
Return Z rotation matrix.Arguments
- double angle - Rotation angle (in degrees).
Return value
The resulting matrix.dmat4 scale (const dvec3 & v)
Return scaling matrix.Arguments
- const dvec3 & v - The value of the scaling vector.
Return value
The resulting matrix.dmat4 reflect (const dvec4 & plane)
Return reflection matrix.Arguments
- const dvec4 & plane - Reflection plane.
Return value
The reflection matrix.dmat4 setTo (const dvec3 & position, const dvec3 & direction, const vec3 & up)
Return placing matrix.Arguments
- const dvec3 & position - Position coordinates of the target point.
- const dvec3 & direction - Direction of the vector.
- const vec3 & up - Direction of the up vector.
Return value
The placing matrix.dmat4 lookAt (const dvec3 & position, const dvec3 & direction, const vec3 & up)
Return viewing matrix.Arguments
- const dvec3 & position - Position coordinates of the target point.
- const dvec3 & direction - Direction of the vector.
- const vec3 & up - Direction of the up vector.
Return value
The viewing matrix.void decomposeTransform (const dmat4 & m, dvec3 & position, quat & rot, vec3 & scale)
Decompose transformation.Arguments
- const dmat4 & m - The value of the matrix.
- dvec3 & position - Position part of transformation.
- quat & rot - Rotation part of transformation.
- vec3 & scale - Scale part of transformation.
dmat4 composeTransform (const dvec3 & position, const quat & rot, const vec3 & scale)
Compose transformation.Arguments
- const dvec3 & position - Position part of transformation.
- const quat & rot - Rotation part of transformation.
- const vec3 & scale - Scale part of transformation.
Return value
The transformation matrix.UNIGINE_INLINE int operator== (const quat & q0, const quat & q1)
Quaternion equal comparison.Arguments
- const quat & q0 - The first quaternion.
- const quat & q1 - The second quaternion.
UNIGINE_INLINE int operator!= (const quat & q0, const quat & q1)
Quaternion not equal comparison.Arguments
- const quat & q0 - The first quaternion.
- const quat & q1 - The second quaternion.
UNIGINE_INLINE quat operator* (const quat & q, float v)
Quaternion multiplication.Arguments
- const quat & q - The value of the quaternion.
- float v - The value of the scalar.
Return value
The resulting quaternion.vec3 operator* (const quat & q, const vec3 & v)
Quaternion multiplication.Arguments
- const quat & q - The value of the quaternion.
- const vec3 & v - The value of the vector.
Return value
The resulting vector.vec3 operator* (const vec3 & v, const quat & q)
Quaternion multiplication.Arguments
- const vec3 & v - The value of the vector.
- const quat & q - The value of the quaternion.
Return value
The resulting vector.dvec3 operator* (const quat & q, const dvec3 & v)
Quaternion multiplication.Arguments
- const quat & q - The value of the quaternion.
- const dvec3 & v - The value of the vector.
Return value
The resulting vector.dvec3 operator* (const dvec3 & v, const quat & q)
Quaternion multiplication.Arguments
- const dvec3 & v - The value of the vector.
- const quat & q - The value of the quaternion.
Return value
The resulting vector.quat operator* (const quat & q0, const quat & q1)
Quaternion multiplication.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
Return value
The resulting quaternion.UNIGINE_INLINE quat operator+ (const quat & q0, const quat & q1)
Quaternion addition.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
Return value
The resulting quaternion.UNIGINE_INLINE quat operator- (const quat & q0, const quat & q1)
Quaternion subtraction.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
Return value
The resulting quaternion.quat normalize (const quat & q)
Normalize quaternion.Arguments
- const quat & q - The value of the quaternion.
Return value
The resulting quaternion.quat slerp (const quat & q0, const quat & q1, float k)
Spherical interpolation.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
- float k - The current position (from 0 to 1).
Return value
The resulting quaternion.String operator+ (const String & s0, const String & s1)
String addition.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
String operator+ ()
String operator+ ()
int operator== (const String & s0, const String & s1)
String equal comparison.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
int operator== ()
int operator== ()
int operator!= (const String & s0, const String & s1)
String not equal comparison.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
int operator!= ()
int operator!= ()
int operator< (const String & s0, const String & s1)
String less than comparison.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
int operator< ()
int operator< ()
int operator> (const String & s0, const String & s1)
String greater than comparison.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
int operator> ()
int operator> ()
int operator<= (const String & s0, const String & s1)
String less or equal to comparison.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
int operator<= ()
int operator<= ()
int operator>= (const String & s0, const String & s1)
String greater or equal to comparison.Arguments
- const String & s0 - The first string.
- const String & s1 - The second string.
int operator>= ()
int operator>= ()
int AtomicCAS (volatile int * ptr, int old_value, int new_value)
Unigine atomic compare and swap.Arguments
- volatile int * ptr - Pointer to the variable.
- int old_value - The old pointer value.
- int new_value - The new pointer value.
Return value
Returns 1 if the variable value was successfully swaped; otherwise, 0 is returned.UNIGINE_INLINE void SpinLock (volatile int * ptr, int old_value, int new_value)
Unigine SpinLock.Arguments
- volatile int * ptr - Pointer to the variable.
- int old_value - The old pointer value.
- int new_value - The new pointer value.
UNIGINE_INLINE void WaitLock (volatile int * ptr, int value)
Unigine WaitLock.Arguments
- volatile int * ptr - Pointer to the variable.
- int value - The pointer value.
UNIGINE_INLINE int operator== (const TypeInfo & t0, const TypeInfo & t1)
Check if two TypeInfo classes are referenced the same types.Arguments
- const TypeInfo & t0 - The first TypeIndo class.
- const TypeInfo & t1 - The second TypeIndo class.
Return value
Returns 1 if types are the same; otherwise, 0 is returned.UNIGINE_INLINE int operator!= (const TypeInfo & t0, const TypeInfo & t1)
Check if two TypeInfo classes are not referenced the same types.Arguments
- const TypeInfo & t0 - The first TypeIndo class.
- const TypeInfo & t1 - The second TypeIndo class.
Return value
Returns 1 if types are not the same; otherwise, 0 is returned.UNIGINE_INLINE Type min (Type v0, Type v1)
Returns the minimum value.Arguments
- Type v0 - The first value.
- Type v1 - The second value.
Return value
The minimum value.UNIGINE_INLINE Type max (Type v0, Type v1)
Returns the maximum value.Arguments
- Type v0 - The first value.
- Type v1 - The second value.
Return value
The maximum value.UNIGINE_INLINE Type clamp (Type v, Type v0, Type v1)
Clamps the value.Arguments
- Type v - The value.
- Type v0 - The minimum value.
- Type v1 - The maximum value.
Return value
The clamped value.UNIGINE_INLINE Type lerp (Type v0, Type v1, Type k)
Returns the interpolated value.Arguments
- Type v0 - The first value.
- Type v1 - The second value.
- Type k - Interolation coefficient.
Return value
The interpolated value.UNIGINE_INLINE void swap (Type & v0, Type & v1)
Swaps two values.Arguments
- Type & v0 - The first value.
- Type & v1 - The second value.
UNIGINE_INLINE void swap (Type * v0, Type * v1, int size)
Swaps two arrays.Arguments
- Type * v0 - The first array.
- Type * v1 - The second array.
- int size - The array size.
void quickSort (Type * array, int size)
Sorts the input array with default compare algorithm.Arguments
- Type * array - The array pointer.
- int size - The array size.
void quickSort (Type * array, int size, Compare compare)
Sorts the input array with specified compare functor.Arguments
- Type * array - The array pointer.
- int size - The array size.
- Compare compare - Compare functor.
void quickSort (Type * array, int size, int(*)(A0, A1) func)
Sorts the input array with specified compare function.Arguments
- Type * array - The array pointer.
- int size - The array size.
- int(*)(A0, A1) func - Compare function.
void quickDoubleSort (Type * array, Data * data, int size)
Sorts the input array with default compare algorithm.Arguments
- Type * array - The array pointer.
- Data * data - The data pointer.
- int size - The array size.
void quickDoubleSort (Type * array, Data * data, int size, Compare compare)
Sorts the input array with specified compare functor.Arguments
- Type * array - The array pointer.
- Data * data - The data pointer.
- int size - The array size.
- Compare compare - Compare functor.
void quickDoubleSort (Type * array, Data * data, int size, int(*)(A0, A1) func)
Sorts the input array with specified compare function.Arguments
- Type * array - The array pointer.
- Data * data - The data pointer.
- int size - The array size.
- int(*)(A0, A1) func - Compare function.
BlobPtrType Definition
Description
Full declaration:typedef Ptr<Blob> Unigine::BlobPtr
Blob smart pointer.
ControlsPtrType Definition
Description
Full declaration:typedef Ptr<Controls> Unigine::ControlsPtr
Controls smart pointer.
DecalPtrType Definition
Description
Full declaration:typedef Ptr<Decal> Unigine::DecalPtr
Decal smart pointer.
DecalMeshPtrType Definition
Description
Full declaration:typedef Ptr<DecalMesh> Unigine::DecalMeshPtr
DecalMesh smart pointer.
DecalOrthoPtrType Definition
Description
Full declaration:typedef Ptr<DecalOrtho> Unigine::DecalOrthoPtr
DecalOrtho smart pointer.
DecalProjPtrType Definition
Description
Full declaration:typedef Ptr<DecalProj> Unigine::DecalProjPtr
DecalProj smart pointer.
DecalObjectPtrType Definition
Description
Full declaration:typedef Ptr<DecalObject> Unigine::DecalObjectPtr
DecalObject smart pointer.
DecalObjectOmniPtrType Definition
Description
Full declaration:typedef Ptr<DecalObjectOmni> Unigine::DecalObjectOmniPtr
DecalObjectOmni smart pointer.
DecalObjectOrthoPtrType Definition
Description
Full declaration:typedef Ptr<DecalObjectOrtho> Unigine::DecalObjectOrthoPtr
DecalObjectOrtho smart pointer.
DecalObjectProjPtrType Definition
Description
Full declaration:typedef Ptr<DecalObjectProj> Unigine::DecalObjectProjPtr
DecalObjectProj smart pointer.
DecalTerrainOrthoPtrType Definition
Description
Full declaration:typedef Ptr<DecalTerrainOrtho> Unigine::DecalTerrainOrthoPtr
DecalTerrainOrtho smart pointer.
DecalTerrainProjPtrType Definition
Description
Full declaration:typedef Ptr<DecalTerrainProj> Unigine::DecalTerrainProjPtr
DecalTerrainProj smart pointer.
FieldPtrType Definition
Description
Full declaration:typedef Ptr<Field> Unigine::FieldPtr
Field smart pointer.
FieldAnimationPtrType Definition
Description
Full declaration:typedef Ptr<FieldAnimation> Unigine::FieldAnimationPtr
FieldAnimation smart pointer.
FieldSpacerPtrType Definition
Description
Full declaration:typedef Ptr<FieldSpacer> Unigine::FieldSpacerPtr
FieldSpacer smart pointer.
FilePtrType Definition
Description
Full declaration:typedef Ptr<File> Unigine::FilePtr
File smart pointer.
GuiPtrType Definition
Description
Full declaration:typedef Ptr<Gui> Unigine::GuiPtr
Gui smart pointer.
ImagePtrType Definition
Description
Full declaration:typedef Ptr<Image> Unigine::ImagePtr
Image smart pointer.
LightPtrType Definition
Description
Full declaration:typedef Ptr<Light> Unigine::LightPtr
Light smart pointer.
LightOmniPtrType Definition
Description
Full declaration:typedef Ptr<LightOmni> Unigine::LightOmniPtr
LightOmni smart pointer.
LightProbPtrType Definition
Description
Full declaration:typedef Ptr<LightProb> Unigine::LightProbPtr
LightProb smart pointer.
LightProjPtrType Definition
Description
Full declaration:typedef Ptr<LightProj> Unigine::LightProjPtr
LightProj smart pointer.
LightSpotPtrType Definition
Description
Full declaration:typedef Ptr<LightSpot> Unigine::LightSpotPtr
LightSpot smart pointer.
LightWorldPtrType Definition
Description
Full declaration:typedef Ptr<LightWorld> Unigine::LightWorldPtr
LightWorld smart pointer.
MaterialPtrType Definition
Description
Full declaration:typedef Ptr<Material> Unigine::MaterialPtr
Material smart pointer.
MeshPtrType Definition
Description
Full declaration:typedef Ptr<Mesh> Unigine::MeshPtr
Mesh smart pointer.
NodePtrType Definition
Description
Full declaration:typedef Ptr<Node> Unigine::NodePtr
Node smart pointer.
NodeDummyPtrType Definition
Description
Full declaration:typedef Ptr<NodeDummy> Unigine::NodeDummyPtr
NodeDummy smart pointer.
NodeExternPtrType Definition
Description
Full declaration:typedef Ptr<NodeExtern> Unigine::NodeExternPtr
NodeExtern smart pointer.
NodeLayerPtrType Definition
Description
Full declaration:typedef Ptr<NodeLayer> Unigine::NodeLayerPtr
NodeLayer smart pointer.
NodePivotPtrType Definition
Description
Full declaration:typedef Ptr<NodePivot> Unigine::NodePivotPtr
NodePivot smart pointer.
NodeReferencePtrType Definition
Description
Full declaration:typedef Ptr<NodeReference> Unigine::NodeReferencePtr
NodeReference smart pointer.
NodeTriggerPtrType Definition
Description
Full declaration:typedef Ptr<NodeTrigger> Unigine::NodeTriggerPtr
NodeTrigger smart pointer.
ObjectPtrType Definition
Description
Full declaration:typedef Ptr<Object> Unigine::ObjectPtr
Object smart pointer.
ObjectBillboardPtrType Definition
Description
Full declaration:typedef Ptr<ObjectBillboard> Unigine::ObjectBillboardPtr
ObjectBillboard smart pointer.
ObjectBillboardsPtrType Definition
Description
Full declaration:typedef Ptr<ObjectBillboards> Unigine::ObjectBillboardsPtr
ObjectBillboards smart pointer.
ObjectDummyPtrType Definition
Description
Full declaration:typedef Ptr<ObjectDummy> Unigine::ObjectDummyPtr
ObjectDummy smart pointer.
ObjectDynamicPtrType Definition
Description
Full declaration:typedef Ptr<ObjectDynamic> Unigine::ObjectDynamicPtr
ObjectDynamic smart pointer.
ObjectExternPtrType Definition
Description
Full declaration:typedef Ptr<ObjectExtern> Unigine::ObjectExternPtr
ObjectExtern smart pointer.
ObjectGuiPtrType Definition
Description
Full declaration:typedef Ptr<ObjectGui> Unigine::ObjectGuiPtr
ObjectGui smart pointer.
ObjectGuiMeshPtrType Definition
Description
Full declaration:typedef Ptr<ObjectGuiMesh> Unigine::ObjectGuiMeshPtr
ObjectGuiMesh smart pointer.
ObjectMeshClusterPtrType Definition
Description
Full declaration:typedef Ptr<ObjectMeshCluster> Unigine::ObjectMeshClusterPtr
ObjectMeshCluster smart pointer.
ObjectMeshDynamicPtrType Definition
Description
Full declaration:typedef Ptr<ObjectMeshDynamic> Unigine::ObjectMeshDynamicPtr
ObjectMeshDynamic smart pointer.
ObjectMeshSkinnedPtrType Definition
Description
Full declaration:typedef Ptr<ObjectMeshSkinned> Unigine::ObjectMeshSkinnedPtr
ObjectMeshSkinned smart pointer.
ObjectMeshStaticPtrType Definition
Description
Full declaration:typedef Ptr<ObjectMeshStatic> Unigine::ObjectMeshStaticPtr
ObjectMeshStatic smart pointer.
ObjectParticlesPtrType Definition
Description
Full declaration:typedef Ptr<ObjectParticles> Unigine::ObjectParticlesPtr
ObjectParticles smart pointer.
ObjectTerrainPtrType Definition
Description
Full declaration:typedef Ptr<ObjectTerrain> Unigine::ObjectTerrainPtr
ObjectTerrain smart pointer.
ObjectVolumeBoxPtrType Definition
Description
Full declaration:typedef Ptr<ObjectVolumeBox> Unigine::ObjectVolumeBoxPtr
ObjectVolumeBox smart pointer.
ObjectVolumeOmniPtrType Definition
Description
Full declaration:typedef Ptr<ObjectVolumeOmni> Unigine::ObjectVolumeOmniPtr
ObjectVolumeOmni smart pointer.
ObjectVolumeProjPtrType Definition
Description
Full declaration:typedef Ptr<ObjectVolumeProj> Unigine::ObjectVolumeProjPtr
ObjectVolumeProj smart pointer.
ObjectVolumeSpherePtrType Definition
Description
Full declaration:typedef Ptr<ObjectVolumeSphere> Unigine::ObjectVolumeSpherePtr
ObjectVolumeSphere smart pointer.
ObjectWaterPtrType Definition
Description
Full declaration:typedef Ptr<ObjectWater> Unigine::ObjectWaterPtr
ObjectWater smart pointer.
ObjectWaterMeshPtrType Definition
Description
Full declaration:typedef Ptr<ObjectWaterMesh> Unigine::ObjectWaterMeshPtr
ObjectWaterMesh smart pointer.
PathPtrType Definition
Description
Full declaration:typedef Ptr<Path> Unigine::PathPtr
Path smart pointer.
PhysicalPtrType Definition
Description
Full declaration:typedef Ptr<Physical> Unigine::PhysicalPtr
Physical smart pointer.
PhysicalForcePtrType Definition
Description
Full declaration:typedef Ptr<PhysicalForce> Unigine::PhysicalForcePtr
PhysicalForce smart pointer.
PhysicalNoisePtrType Definition
Description
Full declaration:typedef Ptr<PhysicalNoise> Unigine::PhysicalNoisePtr
PhysicalNoise smart pointer.
PhysicalTriggerPtrType Definition
Description
Full declaration:typedef Ptr<PhysicalTrigger> Unigine::PhysicalTriggerPtr
PhysicalTrigger smart pointer.
PhysicalWaterPtrType Definition
Description
Full declaration:typedef Ptr<PhysicalWater> Unigine::PhysicalWaterPtr
PhysicalWater smart pointer.
PhysicalWindPtrType Definition
Description
Full declaration:typedef Ptr<PhysicalWind> Unigine::PhysicalWindPtr
PhysicalWind smart pointer.
PlayerPtrType Definition
Description
Full declaration:typedef Ptr<Player> Unigine::PlayerPtr
Player smart pointer.
PlayerActorPtrType Definition
Description
Full declaration:typedef Ptr<PlayerActor> Unigine::PlayerActorPtr
PlayerActor smart pointer.
PlayerDummyPtrType Definition
Description
Full declaration:typedef Ptr<PlayerDummy> Unigine::PlayerDummyPtr
PlayerDummy smart pointer.
PlayerPersecutorPtrType Definition
Description
Full declaration:typedef Ptr<PlayerPersecutor> Unigine::PlayerPersecutorPtr
PlayerPersecutor smart pointer.
PlayerSpectatorPtrType Definition
Description
Full declaration:typedef Ptr<PlayerSpectator> Unigine::PlayerSpectatorPtr
PlayerSpectator smart pointer.
PropertyPtrType Definition
Description
Full declaration:typedef Ptr<Property> Unigine::PropertyPtr
Property smart pointer.
ShaderPtrType Definition
Description
Full declaration:typedef Ptr<Shader> Unigine::ShaderPtr
Shader smart pointer.
SocketPtrType Definition
Description
Full declaration:typedef Ptr<Socket> Unigine::SocketPtr
Socket smart pointer.
StreamPtrType Definition
Description
Full declaration:typedef Ptr<Stream> Unigine::StreamPtr
Stream smart pointer.
TexturePtrType Definition
Description
Full declaration:typedef Ptr<Texture> Unigine::TexturePtr
Texture smart pointer.
TextureRenderPtrType Definition
Description
Full declaration:typedef Ptr<TextureRender> Unigine::TextureRenderPtr
TextureRender smart pointer.
UserInterfacePtrType Definition
Description
Full declaration:typedef Ptr<UserInterface> Unigine::UserInterfacePtr
UserInterface smart pointer.
WidgetPtrType Definition
Description
Full declaration:typedef Ptr<Widget> Unigine::WidgetPtr
Widget smart pointer.
WidgetButtonPtrType Definition
Description
Full declaration:typedef Ptr<WidgetButton> Unigine::WidgetButtonPtr
WidgetButton smart pointer.
WidgetCanvasPtrType Definition
Description
Full declaration:typedef Ptr<WidgetCanvas> Unigine::WidgetCanvasPtr
WidgetCanvas smart pointer.
WidgetCheckBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetCheckBox> Unigine::WidgetCheckBoxPtr
WidgetCheckBox smart pointer.
WidgetComboBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetComboBox> Unigine::WidgetComboBoxPtr
WidgetComboBox smart pointer.
WidgetDialogPtrType Definition
Description
Full declaration:typedef Ptr<WidgetDialog> Unigine::WidgetDialogPtr
WidgetDialog smart pointer.
WidgetDialogColorPtrType Definition
Description
Full declaration:typedef Ptr<WidgetDialogColor> Unigine::WidgetDialogColorPtr
WidgetDialogColor smart pointer.
WidgetDialogFilePtrType Definition
Description
Full declaration:typedef Ptr<WidgetDialogFile> Unigine::WidgetDialogFilePtr
WidgetDialogFile smart pointer.
WidgetDialogImagePtrType Definition
Description
Full declaration:typedef Ptr<WidgetDialogImage> Unigine::WidgetDialogImagePtr
WidgetDialogImage smart pointer.
WidgetDialogMessagePtrType Definition
Description
Full declaration:typedef Ptr<WidgetDialogMessage> Unigine::WidgetDialogMessagePtr
WidgetDialogMessage smart pointer.
WidgetEditLinePtrType Definition
Description
Full declaration:typedef Ptr<WidgetEditLine> Unigine::WidgetEditLinePtr
WidgetEditLine smart pointer.
WidgetEditTextPtrType Definition
Description
Full declaration:typedef Ptr<WidgetEditText> Unigine::WidgetEditTextPtr
WidgetEditText smart pointer.
WidgetExternPtrType Definition
Description
Full declaration:typedef Ptr<WidgetExtern> Unigine::WidgetExternPtr
WidgetExtern smart pointer.
WidgetGridBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetGridBox> Unigine::WidgetGridBoxPtr
WidgetGridBox smart pointer.
WidgetGroupBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetGroupBox> Unigine::WidgetGroupBoxPtr
WidgetGroupBox smart pointer.
WidgetHBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetHBox> Unigine::WidgetHBoxPtr
WidgetHBox smart pointer.
WidgetHPanedPtrType Definition
Description
Full declaration:typedef Ptr<WidgetHPaned> Unigine::WidgetHPanedPtr
WidgetHPaned smart pointer.
WidgetIconPtrType Definition
Description
Full declaration:typedef Ptr<WidgetIcon> Unigine::WidgetIconPtr
WidgetIcon smart pointer.
WidgetLabelPtrType Definition
Description
Full declaration:typedef Ptr<WidgetLabel> Unigine::WidgetLabelPtr
WidgetLabel smart pointer.
WidgetListBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetListBox> Unigine::WidgetListBoxPtr
WidgetListBox smart pointer.
WidgetMenuBarPtrType Definition
Description
Full declaration:typedef Ptr<WidgetMenuBar> Unigine::WidgetMenuBarPtr
WidgetMenuBar smart pointer.
WidgetMenuBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetMenuBox> Unigine::WidgetMenuBoxPtr
WidgetMenuBox smart pointer.
WidgetScrollPtrType Definition
Description
Full declaration:typedef Ptr<WidgetScroll> Unigine::WidgetScrollPtr
WidgetScroll smart pointer.
WidgetScrollBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetScrollBox> Unigine::WidgetScrollBoxPtr
WidgetScrollBox smart pointer.
WidgetSliderPtrType Definition
Description
Full declaration:typedef Ptr<WidgetSlider> Unigine::WidgetSliderPtr
WidgetSlider smart pointer.
WidgetSpacerPtrType Definition
Description
Full declaration:typedef Ptr<WidgetSpacer> Unigine::WidgetSpacerPtr
WidgetSpacer smart pointer.
WidgetSpinBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetSpinBox> Unigine::WidgetSpinBoxPtr
WidgetSpinBox smart pointer.
WidgetSpritePtrType Definition
Description
Full declaration:typedef Ptr<WidgetSprite> Unigine::WidgetSpritePtr
WidgetSprite smart pointer.
WidgetTabBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetTabBox> Unigine::WidgetTabBoxPtr
WidgetTabBox smart pointer.
WidgetTreeBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetTreeBox> Unigine::WidgetTreeBoxPtr
WidgetTreeBox smart pointer.
WidgetVBoxPtrType Definition
Description
Full declaration:typedef Ptr<WidgetVBox> Unigine::WidgetVBoxPtr
WidgetVBox smart pointer.
WidgetVPanedPtrType Definition
Description
Full declaration:typedef Ptr<WidgetVPaned> Unigine::WidgetVPanedPtr
WidgetVPaned smart pointer.
WidgetWindowPtrType Definition
Description
Full declaration:typedef Ptr<WidgetWindow> Unigine::WidgetWindowPtr
WidgetWindow smart pointer.
WorldIntersectionPtrType Definition
Description
Full declaration:typedef Ptr<WorldIntersection> Unigine::WorldIntersectionPtr
WorldIntersectionNormalPtrType Definition
Description
Full declaration:typedef Ptr<WorldIntersectionNormal> Unigine::WorldIntersectionNormalPtr
WorldIntersectionTexCoordPtrType Definition
Description
Full declaration:typedef Ptr<WorldIntersectionTexCoord> Unigine::WorldIntersectionTexCoordPtr
WorldExternPtrType Definition
Description
Full declaration:typedef Ptr<WorldExtern> Unigine::WorldExternPtr
WorldExtern smart pointer.
WorldLayerPtrType Definition
Description
Full declaration:typedef Ptr<WorldLayer> Unigine::WorldLayerPtr
WorldLayer smart pointer.
WorldPortalPtrType Definition
Description
Full declaration:typedef Ptr<WorldPortal> Unigine::WorldPortalPtr
WorldPortal smart pointer.
WorldSectorPtrType Definition
Description
Full declaration:typedef Ptr<WorldSector> Unigine::WorldSectorPtr
WorldSector smart pointer.
WorldSwitcherPtrType Definition
Description
Full declaration:typedef Ptr<WorldSwitcher> Unigine::WorldSwitcherPtr
WorldSwitcher smart pointer.
WorldTriggerPtrType Definition
Description
Full declaration:typedef Ptr<WorldTrigger> Unigine::WorldTriggerPtr
WorldTrigger smart pointer.
XmlPtrType Definition
Description
Full declaration:typedef Ptr<Xml> Unigine::XmlPtr
Xml smart pointer.
Last update: 03.07.2017
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter