Skip to content

Vector4

struct · namespace Hazel

public struct Vector4

Constructors

Vector4(Vector3, float)

public Vector4(Vector3 xyz, float w)

Vector4(float)

public Vector4(float scalar)

Vector4(float, float, float, float)

public Vector4(float x, float y, float z, float w)

Fields

Field Description
public static Vector4 Infiniity
public static Vector4 Infinity
public static Vector4 One
public float W
public float X
public float Y
public float Z
public static Vector4 Zero

Properties

XYZ

public Vector3 XYZ { get; set; }

Methods

Apply(Func)

public void Apply(Func<float, float> func)

Allows you to pass in a delegate that takes in a double to process the vector per axis, retaining W. i.e. (Mathf.Cos) or a lambda (v => v * 3)

Parameters

Name Description
func Delegate 'float' method to act as a scalar to process X, Y and Z, retaining W

Clamp(Vector4, Vector4)

public void Clamp(Vector4 min, Vector4 max)

Cos(Vector4)

static

public static Vector4 Cos(Vector4 vector)

Equals(Vector4)

public bool Equals(Vector4 right)

Equals(object?)

public override bool Equals(object? obj)

GetHashCode()

public override int GetHashCode()

Length()

public float Length()

Lerp(Vector4, Vector4, float)

static

public static Vector4 Lerp(Vector4 a, Vector4 b, float t)

New(Func)

public Vector4 New(Func<float, float> func)

Allows you to pass in a delegate that takes in and returns a new Vector processed per axis, retaining W. i.e. (float.Cos) or a lambda (v => v * 3)

Parameters

Name Description
func Delegate 'double' method to act as a scalar to process X, Y and Z, retaining W

Normalize()

public void Normalize()

Normalized()

public Vector4 Normalized()

Sin(Vector4)

static

public static Vector4 Sin(Vector4 vector)

ToString()

public override string ToString()

Operators

operator !=(Vector4, Vector4)

static

public static bool operator !=(Vector4 left, Vector4 right)

operator *(Vector4, Vector4)

static

public static Vector4 operator *(Vector4 left, Vector4 right)

operator *(Vector4, float)

static

public static Vector4 operator *(Vector4 left, float scalar)

operator *(float, Vector4)

static

public static Vector4 operator *(float scalar, Vector4 right)

operator +(Vector4, Vector4)

static

public static Vector4 operator +(Vector4 left, Vector4 right)

operator -(Vector4, Vector4)

static

public static Vector4 operator -(Vector4 left, Vector4 right)

operator /(Vector4, Vector4)

static

public static Vector4 operator /(Vector4 left, Vector4 right)

operator /(Vector4, float)

static

public static Vector4 operator /(Vector4 left, float scalar)

operator ==(Vector4, Vector4)

static

public static bool operator ==(Vector4 left, Vector4 right)

Source: Hazel/Math/Vector4.cs