/// <summary> /// Returns a lvec3 from component-wise application of Mul (lhs * rhs). /// </summary> public static lvec3 Mul(lvec3 lhs, lvec3 rhs) => lvec3.Mul(lhs, rhs);
/// <summary> /// Returns a lvec3 with independent and identically distributed uniform integer values between minValue (inclusive) and maxValue (exclusive). (minValue == maxValue is allowed and returns minValue. Negative values are allowed.) /// </summary> public static lvec3 RandomUniform(Random random, lvec3 minValue, lvec3 maxValue) => lvec3.RandomUniform(random, minValue, maxValue);
/// <summary> /// Returns true iff this equals rhs component-wise. /// </summary> public static bool Equals(lvec3 v, lvec3 rhs) => v.Equals(rhs);
/// <summary> /// Returns a vector pointing in the same direction as another (faceforward orients a vector to point away from a surface as defined by its normal. If dot(Nref, I) is negative faceforward returns N, otherwise it returns -N). /// </summary> public static lvec3 FaceForward(lvec3 N, lvec3 I, lvec3 Nref) => lvec3.FaceForward(N, I, Nref);
/// <summary> /// Returns a lvec3 with independent and identically distributed uniform integer values between 0 (inclusive) and maxValue (exclusive). (A maxValue of 0 is allowed and returns 0.) /// </summary> public static lvec3 Random(Random random, lvec3 maxValue) => lvec3.Random(random, maxValue);
/// <summary> /// Returns a string representation of this vector using a provided seperator and a format for each component. /// </summary> public static string ToString(lvec3 v, string sep, string format) => v.ToString(sep, format);
/// <summary> /// Calculate the reflection direction for an incident vector (N should be normalized in order to achieve the desired result). /// </summary> public static lvec3 Reflect(lvec3 I, lvec3 N) => lvec3.Reflect(I, N);
/// <summary> /// Returns a lvec3 from component-wise application of RightShift (lhs >> rhs). /// </summary> public static lvec3 RightShift(lvec3 lhs, ivec3 rhs) => lvec3.RightShift(lhs, rhs);
/// <summary> /// Returns the minimal component of this vector. /// </summary> public static long MinElement(lvec3 v) => v.MinElement;
/// <summary> /// Returns a lvec3 from component-wise application of BitwiseAnd (lhs & rhs). /// </summary> public static lvec3 BitwiseAnd(lvec3 lhs, lvec3 rhs) => lvec3.BitwiseAnd(lhs, rhs);
/// <summary> /// Returns a lvec3 from component-wise application of LeftShift (lhs << rhs). /// </summary> public static lvec3 LeftShift(lvec3 lhs, ivec3 rhs) => lvec3.LeftShift(lhs, rhs);
/// <summary> /// Returns a string representation of this vector using a provided seperator. /// </summary> public static string ToString(lvec3 v, string sep) => v.ToString(sep);
/// <summary> /// Returns a lvec3 from component-wise application of Xor (lhs ^ rhs). /// </summary> public static lvec3 Xor(lvec3 lhs, lvec3 rhs) => lvec3.Xor(lhs, rhs);
/// <summary> /// Returns a lvec3 from component-wise application of Div (lhs / rhs). /// </summary> public static lvec3 Div(lvec3 lhs, lvec3 rhs) => lvec3.Div(lhs, rhs);
/// <summary> /// Returns the p-norm of this vector. /// </summary> public static double NormP(lvec3 v, double p) => v.NormP(p);
/// <summary> /// Returns the maximal component of this vector. /// </summary> public static long MaxElement(lvec3 v) => v.MaxElement;
/// <summary> /// Returns the inner product (dot product, scalar product) of the two vectors. /// </summary> public static long Dot(lvec3 lhs, lvec3 rhs) => lvec3.Dot(lhs, rhs);
/// <summary> /// Returns the euclidean length of this vector. /// </summary> public static double Length(lvec3 v) => v.Length;
/// <summary> /// Returns the squared euclidean distance between the two vectors. /// </summary> public static double DistanceSqr(lvec3 lhs, lvec3 rhs) => lvec3.DistanceSqr(lhs, rhs);
/// <summary> /// Returns the squared euclidean length of this vector. /// </summary> public static double LengthSqr(lvec3 v) => v.LengthSqr;
/// <summary> /// Calculate the refraction direction for an incident vector (The input parameters I and N should be normalized in order to achieve the desired result). /// </summary> public static lvec3 Refract(lvec3 I, lvec3 N, long eta) => lvec3.Refract(I, N, eta);
/// <summary> /// Returns the sum of all components. /// </summary> public static long Sum(lvec3 v) => v.Sum;
/// <summary> /// Returns the outer product (cross product, vector product) of the two vectors. /// </summary> public static lvec3 Cross(lvec3 l, lvec3 r) => lvec3.Cross(l, r);
/// <summary> /// Returns the one-norm of this vector. /// </summary> public static double Norm1(lvec3 v) => v.Norm1;
/// <summary> /// Returns a string representation of this vector using a provided seperator and a format and format provider for each component. /// </summary> public static string ToString(lvec3 v, string sep, string format, IFormatProvider provider) => v.ToString(sep, format, provider);
/// <summary> /// Returns the two-norm (euclidean length) of this vector. /// </summary> public static double Norm2(lvec3 v) => v.Norm2;
/// <summary> /// Returns the number of components (3). /// </summary> public static int Count(lvec3 v) => v.Count;
/// <summary> /// Returns the max-norm of this vector. /// </summary> public static double NormMax(lvec3 v) => v.NormMax;
/// <summary> /// Returns true iff this equals rhs type- and component-wise. /// </summary> public static bool Equals(lvec3 v, object obj) => v.Equals(obj);
/// <summary> /// Returns a lvec3 from component-wise application of Sub (lhs - rhs). /// </summary> public static lvec3 Sub(lvec3 lhs, lvec3 rhs) => lvec3.Sub(lhs, rhs);