This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
UnigineEditor
界面概述
资产工作流程
设置和首选项
项目开发
调整节点参数
Setting Up Materials
Setting Up Properties
照明
Landscape Tool
Sandworm
使用编辑器工具执行特定任务
Extending Editor Functionality
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Objects
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
创建内容
Content Optimization
Materials
Art Samples
Tutorials
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

Unigine::Math::vec2 Struct

Header: #include <UnigineMathLib.h>

This class represents a vector of 2 float components.

vec2 Class

Members


vec2 ( const hvec2 & v ) #

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

Arguments

  • const hvec2 & v - Source vector.

vec2 ( ) #

Default constructor. Produces a zero vector.

vec2 ( const vec2 & v ) #

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

Arguments

  • const vec2 & v - Source vector.

vec2 ( float x, float y ) #

Constructor. Initializes the vector using given float values.

Arguments

  • float x - X component of the vector.
  • float y - Y component of the vector.

Examples

Source code (UnigineScript)
vec2(2.0, 3.0);
/*
Creates a vector (2.0, 3.0)
*/

explicit vec2 ( float v ) #

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

Arguments

  • float v - Scalar value.

Examples

Source code (UnigineScript)
vec2(1.0);
/*
Creates a vector (1.0, 1.0)
*/

explicit vec2 ( const vec3 & v ) #

Constructor. Initializes the vector using a given three-component vec3 source vector: x=v.x, y=v.y.

Arguments

  • const vec3 & v - Three-component source vector.

explicit vec2 ( const vec4 & v ) #

Constructor. Initializes the vector using a given four-component vec4 source vector: x=v.x, y=v.y.

Arguments

  • const vec4 & v - Four-component source vector.

explicit vec2 ( const dvec2 & v ) #

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

Arguments

  • const dvec2 & v - Source vector.

explicit vec2 ( const ivec2 & v ) #

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

Arguments

  • const ivec2 & v - Source vector.

explicit vec2 ( const float * v ) #

Constructor. Initializes the vector using a given pointer to the array of float elements: x=v[0], y=v[1].

Arguments

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

vec2 & abs ( ) #

Returns the absolute values of the vector components.

Return value

Vector with absolute values.

void set ( float x_, float y_ ) #

Sets the vector by components.

Arguments

  • float x_ - X component of the vector.
  • float y_ - Y component of the vector.

void set ( const float * val ) #

Sets the vector using the array of float elements: x=val[0], y=val[1].

Arguments

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

void set ( const vec2 & val ) #

Sets the vector equal to the specified source vector.

Arguments

  • const vec2 & val - Source vector.

void set ( float val ) #

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

Arguments

  • float val - Scalar value.

void get ( float * val ) const#

Gets the vector: val[0]=x, val[1]=y.

Arguments

  • float * val - Pointer to the array of float elements.

float * get ( ) #

Returns the pointer to the vector.

Return value

Pointer to the vector.

const float * get ( ) const#

Returns the constant pointer to the vector.

Return value

Pointer to the vector.

float length ( ) #

Returns the length of the vector.

Return value

Vector length.

float length2 ( ) #

Returns the squared length of the vector.

Return value

Squared length of the vector.

float max ( ) #

Compares the vector components and returns the greater one.

Return value

The greater out of the two vector components.

vec2 & normalize ( ) #

Returns normalized vector.

Return value

Normalized vector.

vec2 & normalizeValid ( ) #

Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.

Return value

Normalized vector.

vec2 & normalizeFast ( ) #

Returns normalized vector, calculated using the fast inverse square root algorithm.

Return value

Normalized vector.

vec2 & normalizeValidFast ( ) #

Returns normalized vector, calculated using the fast inverse square root algorithm. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.

Return value

Normalized vector.

const float * operator const float * ( ) #

Performs type conversion to const float *.

const void * operator const void * ( ) #

Performs type conversion to const void *.

float * operator float * ( ) #

Performs type conversion to float *.

void * operator void * ( ) #

Performs type conversion to void *.

vec2 & operator*= ( float val ) #

Performs scalar multiplication.

Arguments

  • float val - Scalar value.

Return value

Resulting vector.

vec2 & operator*= ( const vec2 & val ) #

Performs vector multiplication.

Arguments

  • const vec2 & val - Vector.

Return value

Resulting vector.

vec2 & operator+= ( const vec2 & val ) #

Performs vector addition.

Arguments

  • const vec2 & val - Vector.

Return value

Resulting vector.

vec2 operator- ( ) const#

Performs vector negation.

Return value

Resulting vector.

vec2 & operator-= ( const vec2 & val ) #

Performs vector subtraction.

Arguments

  • const vec2 & val - Vector.

Return value

Resulting vector.

vec2 & operator/= ( const vec2 & val ) #

Performs componentwise division of vectors.

Arguments

  • const vec2 & val - Vector.

Return value

Resulting vector.

Examples

Source code (UnigineScript)
vec2 a, b;
a = vec2(6.0, 10.0);
b = vec2(2.0, 5.0);
a /= b;
/*
Initial values of vectors a and b:
	a (6.0, 10.0)
	b (2.0, 5.0)

	a /= b;
Vector a after operation:	
	a (3.0, 2.0)	
*/

vec2 & operator/= ( float val ) #

Performs componentwise division of the vector by the scalar. Implemented using the calculation of inverse scalar value with subsequent by-component multiplication.

Arguments

  • float val - Scalar value.

Return value

Resulting vector.

Examples

Source code (UnigineScript)
vec2 a = vec2(6.0, 10.0);
a /= 2.0;
/*
Initial value of vector a:
	a (6.0, 10.0)

	a /= 2.0;
Vector a after operation:	
	a (3.0, 5.0)	
*/

vec2 & operator= ( const vec2 & val ) #

Performs vector assignment. Destination vector = Source vector.

Arguments

  • const vec2 & val - Source vector.

Return value

Result.

float & 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.

float 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.
Last update: 2021-04-29
Build: ()