Class Vector4
Definition
- Assembly:
- Tizen.NUI.dll
A four-dimensional vector.
public class Vector4 : Disposable, ICloneable
- Inheritance
- Implements
-
ICloneable
Constructors
View SourceVector4()
The default constructor initializes the vector to 0.
Declaration
public Vector4()
Vector4(float, float, float, float)
The conversion constructor from four floats.
Declaration
public Vector4(float x, float y, float z, float w)
Parameters
| Type | Name | Description |
|---|---|---|
| float | x | The x (or r/s) component. |
| float | y | The y (or g/t) component. |
| float | z | The z (or b/p) component. |
| float | w | The w (or a/q) component. |
Vector4(float[])
The conversion constructor from an array of four floats.
Declaration
public Vector4(float[] array)
Parameters
| Type | Name | Description |
|---|---|---|
| float[] | array | The array of either xyzw/rgba/stpq. |
Vector4(Vector2)
The conversion constructor from Vector2.
Declaration
public Vector4(Vector2 vec2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector2 | vec2 | Vector2 to copy from, z and w are initialized to 0. |
Vector4(Vector3)
The conversion constructor from Vector3.
Declaration
public Vector4(Vector3 vec3)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | vec3 | Vector3 to copy from, w is initialized to 0. |
Properties
View SourceA
The alpha component.
Declaration
public float A { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
B
The blue component.
Declaration
public float B { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
G
The green component.
Declaration
public float G { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
this[uint]
The array subscript operator overload.
Declaration
public float this[uint index] { get; }
Parameters
| Type | Name | Description |
|---|---|---|
| uint | index | The subscript index. |
Property Value
| Type | Description |
|---|---|
| float | The float at the given index. |
One
Returns a Vector2 instance where both the x and y components are set to 1.0f. Actual value is (1.0f,1.0f,1.0f,1.0f).
Declaration
public static Vector4 One { get; }
Property Value
| Type | Description |
|---|---|
| Vector4 |
P
The p component.
Declaration
public float P { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
Q
The q component.
Declaration
public float Q { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
R
The red component.
Declaration
public float R { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
S
The s component.
Declaration
public float S { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
T
The t component.
Declaration
public float T { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
W
The w component.
Declaration
public float W { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
X
The x component.
Declaration
public float X { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
XAxis
The vector representing the x-axis. Actual value is (1.0f,0.0f,0.0f,0.0f).
Declaration
public static Vector4 XAxis { get; }
Property Value
| Type | Description |
|---|---|
| Vector4 |
Y
The y component.
Declaration
public float Y { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
YAxis
The vector representing the y-axis. Actual value is (0.0f,1.0f,0.0f,0.0f).
Declaration
public static Vector4 YAxis { get; }
Property Value
| Type | Description |
|---|---|
| Vector4 |
Z
The z component.
Declaration
public float Z { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
Remarks
The setter is deprecated in API8 and will be removed in API10. Use new Vector4(...) constructor.
ZAxis
The vector representing the z-axis. Actual value is (0.0f,0.0f,1.0f,0.0f).
Declaration
public static Vector4 ZAxis { get; }
Property Value
| Type | Description |
|---|---|
| Vector4 |
Zero
A Vector2 object representing the zero vector. Actual value is (0.0f, 0.0f, 0.0f, 0.0f).
Declaration
public static Vector4 Zero { get; }
Property Value
| Type | Description |
|---|---|
| Vector4 |
Methods
View SourceClamp(Vector4, Vector4)
Clamps the vector between minimum and maximum vectors.
Declaration
public void Clamp(Vector4 min, Vector4 max)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | min | The minimum vector. |
| Vector4 | max | The maximum vector. |
Clone()
Declaration
public object Clone()
Returns
| Type | Description |
|---|---|
| object |
Cross(Vector4)
Calculates the cross product of this vector and another Vector4. The W component is treated as 0.0f for the calculation, and the resulting vector's W component will be 0.0f.
Declaration
public Vector4 Cross(Vector4 other)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | other | The other Vector4. |
Returns
| Type | Description |
|---|---|
| Vector4 | The cross product of the two vectors. |
Distance(Vector4, Vector4)
Calculates the Euclidean distance between two 4D vectors.
Declaration
public static float Distance(Vector4 a, Vector4 b)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | a | The first vector. |
| Vector4 | b | The second vector. |
Returns
| Type | Description |
|---|---|
| float | The distance between vector a and b. |
Distance3(Vector4, Vector4)
Calculates the 3D Euclidean distance between the xyz components of two 4D vectors. The W component is ignored.
Declaration
public static float Distance3(Vector4 a, Vector4 b)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | a | The first vector. |
| Vector4 | b | The second vector. |
Returns
| Type | Description |
|---|---|
| float | The 3D distance between the xyz components of vector a and b. |
Dot(Vector3)
Calculates the dot product of this vector and a Vector3. The W component of this vector is not used in the calculation.
Declaration
public float Dot(Vector3 other)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | other | The other Vector3. |
Returns
| Type | Description |
|---|---|
| float | The dot product of the two vectors. |
Dot(Vector4)
Calculates the dot product of this vector and another Vector4.
Declaration
public float Dot(Vector4 other)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | other | The other Vector4. |
Returns
| Type | Description |
|---|---|
| float | The dot product of the two vectors. |
Dot3(Vector4)
Calculates the 3D dot product of this vector and another Vector4 using only the x, y, and z components. a.xb.x + a.yb.y + a.z*b.z (without w)
Declaration
public float Dot3(Vector4 other)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | other | The other Vector4. |
Returns
| Type | Description |
|---|---|
| float | The 3D dot product of the two vectors. |
Equals(Object)
Determines whether the specified object is equal to the current object.
Declaration
public override bool Equals(System.Object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| object | obj | The object to compare with the current object. |
Returns
| Type | Description |
|---|---|
| bool | true if the specified object is equal to the current object; otherwise, false. |
GetHashCode()
Gets the hash code of this Vector4.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| int | The Hash Code. |
Length()
Returns the length of the vector.
Declaration
public float Length()
Returns
| Type | Description |
|---|---|
| float | The length. |
Length3()
Returns the length of the xyz components of vector.
Declaration
public float Length3()
Returns
| Type | Description |
|---|---|
| float | The length of xyz components. |
LengthSquared()
Returns the length of the vector squared.
This is faster than using Length() when performing
threshold checks as it avoids use of the square root.
Declaration
public float LengthSquared()
Returns
| Type | Description |
|---|---|
| float | The length of the vector squared. |
LengthSquared3()
Returns the length of the vector squared.
This is faster than using Length() when performing
threshold checks as it avoids use of the square root.
Declaration
public float LengthSquared3()
Returns
| Type | Description |
|---|---|
| float | The length of xyz components vector squared. |
Normalize()
Normalizes the vector.
Sets the vector to unit length whilst maintaining its direction.
Declaration
public void Normalize()
Normalize(Vector4)
Returns a new vector that is the normalized version of the specified 4D vector. The original vector remains unchanged.
Declaration
public static Vector4 Normalize(Vector4 vector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | vector | The vector to normalize. |
Returns
| Type | Description |
|---|---|
| Vector4 | A new Vector4 with a magnitude of 1 in the same direction. |
Normalize3()
Normalizes the vector of xyz components.
Sets the vector to unit length whilst maintaining its direction.
Declaration
public void Normalize3()
Normalize3(Vector4)
Returns a new vector that is the normalized version of the xyz components of the specified 4D vector. The original vector remains unchanged. The W component of the result is the same as the original vector's W component.
Declaration
public static Vector4 Normalize3(Vector4 vector)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | vector | The vector whose xyz components are to be normalized. |
Returns
| Type | Description |
|---|---|
| Vector4 | A new Vector4 with xyz components of magnitude 1 and the original W component. |
ReleaseSwigCPtr(HandleRef)
Declaration
protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Runtime.InteropServices.HandleRef | swigCPtr |
Overrides
Operators
View Sourceoperator +(Vector4, Vector4)
The addition operator.
Declaration
public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The first value. |
| Vector4 | arg2 | The second value. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the result of the addition. |
operator /(Vector4, float)
The division operator.
Declaration
public static Vector4 operator /(Vector4 arg1, float arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The first value. |
| float | arg2 | The float value to scale the vector by. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the result of scaling. |
operator /(Vector4, Vector4)
The division operator.
Declaration
public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The first value. |
| Vector4 | arg2 | The second value. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the result of the division. |
implicit operator Vector4(float)
Converts the float value to Vector4 class implicitly.
Declaration
public static implicit operator Vector4(float value)
Parameters
| Type | Name | Description |
|---|---|---|
| float | value | A float value to be converted to Vector4 |
Returns
| Type | Description |
|---|---|
| Vector4 |
operator *(Vector4, float)
The multiplication operator.
Declaration
public static Vector4 operator *(Vector4 arg1, float arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The first value. |
| float | arg2 | The float value to scale the vector. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the result of scaling. |
operator *(Vector4, Vector4)
The multiplication operator.
Declaration
public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The first value. |
| Vector4 | arg2 | The second value. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the result of the multiplication. |
operator -(Vector4, Vector4)
The subtraction operator.
Declaration
public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The first value. |
| Vector4 | arg2 | The second value. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the result of the subtraction. |
operator -(Vector4)
The unary negation operator.
Declaration
public static Vector4 operator -(Vector4 arg1)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector4 | arg1 | The target value. |
Returns
| Type | Description |
|---|---|
| Vector4 | The vector containing the negation. |