UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Unigine::Unigine::ivec4 Struct

Header:#include <UnigineMathLib.h>

This class represents a vector of 4 integer components.

ivec4 Class

Members


ivec4(const __m128i & v)

Arguments

  • const __m128i & v

ivec4()

Default constructor. Produces a zero vector.

ivec4(const ivec4 & v)

Constructor. Initializes the vector by copying a given source vector.

Arguments

  • const ivec4 & v - Source vector.

ivec4(int x, int y, int z, int w)

Constructor. Initializes the vector using given integer values.

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.

explicit ivec4(int v)

Constructor. Initializes the vector using a given scalar value: x=v, y=v, z=v, w=v.

Arguments

  • int v - Scalar value.

explicit ivec4(const vec4 & v)

Constructor. Initializes the vector using a given vec4 source vector.

Arguments

  • const vec4 & v - Source vector.

explicit ivec4(const dvec4 & v)

Constructor. Initializes the vector using a given dvec4 source vector.

Arguments

  • const dvec4 & v - Source vector.

explicit ivec4(const bvec4 & v)

Constructor. Initializes the vector using a given bvec4 source vector.

Arguments

  • const bvec4 & v - Source vector.

explicit ivec4(const int * v)

Constructor. Initializes the vector using a given pointer to the array of integer elements: x=v[0], y=v[1], z=v[2], w=v[3].

Arguments

  • const int * v - Pointer to the array of integer elements.

ivec4(const ivec3 & v)

Constructor. Initializes the vector using a given ivec3 source vector.

Arguments

  • const ivec3 & v - Source vector.

void set(int x_, int y_, int z_, int w_)

Sets the vector by components.

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.

void set(const int * val)

Sets the vector using the array of integer elements: x=val[0], y=val[1], z=val[2], w=val[3].

Arguments

  • const int * val - Pointer to the array of integer elements.

void set(int val)

Sets the vector components equal to specified scalar value: x=val, y=val, z=val, w=val.

Arguments

  • int val - Scalar value.

void set(const ivec4 & val)

Sets the vector equal to the specified source vector.

Arguments

  • const ivec4 & val - Source vector.

int * get()

Returns the pointer to the vector.

Return value

Pointer to the vector.

const int * get() const

Returns the constant pointer to the vector.

Return value

Pointer to the vector.

void get(int * val)

Gets the vector: val[0]=x, val[1]=y, val[2]=z, val[3]=w.

Arguments

  • int * val - Pointer to the array of integer elements.

int length2()

Returns the squared length of the vector.

Return value

Squared length of the vector.

__m128i operator __m128i()

Performs type conversion to __m128i.

const int * operator const int *()

Performs type conversion to const int *.

const void * operator const void *()

Performs type conversion to const void *.

int * operator int *()

Performs type conversion to int *.

void * operator void *()

Performs type conversion to void *.

ivec4 & operator*=(int val)

Performs scalar multiplication.

Arguments

  • int val - Scalar value.

Return value

Resulting vector.

ivec4 & operator*=(const ivec4 & val)

Performs vector multiplication.

Arguments

  • const ivec4 & val - Vector.

Return value

Resulting vector.

ivec4 & operator+=(const ivec4 & val)

Performs vector addition.

Arguments

  • const ivec4 & val - Vector.

Return value

Resulting vector.

ivec4 operator-() const

Performs vector negation.

Return value

Resulting vector.

ivec4 & operator-=(const ivec4 & val)

Performs vector subtraction.

Arguments

  • const ivec4 & val - Vector.

Return value

Resulting vector.

ivec4 & operator/=(int val)

Performs componentwise integer division of the vector by the scalar.

Arguments

  • int val - Scalar value.

Return value

Resulting vector.

Examples

Source code (UnigineScript)
ivec4 a = ivec4(6, 10, 11, 4);
a /= 2;
/*
Initial value of vector a:
	a (6, 10, 11, 4)

	a /= 2;
Vector a after operation:	
	a (3, 5, 5, 2)	
*/

ivec4 & operator/=(const ivec4 & val)

Performs componentwise integer division of vectors.

Arguments

  • const ivec4 & val - Vector.

Return value

Resulting vector.

Examples

Source code (UnigineScript)
ivec4 a, b;
a = ivec4(6, 10, 12, 3);
b = ivec4(2, 6, 5, 2);
a /= b;
/*
Initial values of vectors a and b:
	a (6, 10, 12, 3)
	b (2, 6, 5, 2)

	a /= b;
Vector a after operation:	
	a (3, 1, 2, 1)

ivec4 & operator<<=(int val)

Performs componentwise left bit shift.

Arguments

  • int val - Shift amount.

Return value

Resulting vector.

ivec4 & operator=(const __m128i & val)

Arguments

  • const __m128i & val

ivec4 & operator=(const ivec4 & val)

Performs vector assignment. Destination vector = Source vector.

Arguments

  • const ivec4 & val - Source vector.

Return value

Result.

ivec4 & operator>>=(int val)

Performs componentwise right bit shift.

Arguments

  • int val - Shift amount.

Return value

Resulting vector.

int & operator[](int i)

Performs array access to the vector item reference by using given item index.

Arguments

  • int i - Vector item index.

Return value

Vector item reference.

int operator[](int i) const

Performs array access to the vector item by using given item index.

Arguments

  • int i - Vector item index.

Return value

Vector item.

void sse(const __m128i & val)

Arguments

  • const __m128i & val

__m128i sse()


ivec4 ONE

Description

Vector, filled with ones (1).

ivec4 ZERO

Description

Vector, filled with zeros (0).
Last update: 04.06.2018