/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="V__x4t__"/>. /// </summary> public static V__x4t__ Multiply(Scale__x3t__ scale, V__x4t__ vec) { return(new V__x4t__(scale.X * vec.X, scale.Y * vec.Y, scale.Z * vec.Z, vec.W)); }
/// <summary> /// Creates new Identity <see cref="M4__x4t__"/> with <see cref="Scale__x3t__"/> for scaling. /// </summary> /// <param name="scale"></param> /// <returns>A <see cref="M4__x4t__"/> scaling matrix.</returns> public static M4__x4t__ Scale(Scale__x3t__ scale) { return(new M4__x4t__(scale.X, 0, 0, 0, 0, scale.Y, 0, 0, 0, 0, scale.Z, 0, 0, 0, 0, 1)); }
public static M3__x3t__ Multiply(M3__x3t__ m, Scale__x3t__ s) { return(new M3__x3t__( m.M00 * s.X, m.M01 * s.Y, m.M02 * s.Z, m.M10 * s.X, m.M11 * s.Y, m.M12 * s.Z, m.M20 * s.X, m.M21 * s.Y, m.M22 * s.Z )); }
public override bool Equals(object obj) { if (obj is Scale__x3t__) { Scale__x3t__ scalingVector = (Scale__x3t__)obj; return((X == scalingVector.X) && (Y == scalingVector.Y) && (Z == scalingVector.Z)); } return(false); }
/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="M2__x2t__"/>. /// </summary> public static M3__x3t__ Multiply(Scale__x3t__ scale, M2__x2t__ mat) { return(new M3__x3t__(scale.X * mat.M00, scale.X * mat.M01, 0, scale.Y * mat.M10, scale.Y * mat.M11, 0, 0, 0, scale.Z)); }
/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="M3__x3t__"/>. /// </summary> public static M3__x3t__ Multiply(Scale__x3t__ scale, M3__x3t__ mat) { return(new M3__x3t__(scale.X * mat.M00, scale.X * mat.M01, scale.X * mat.M02, scale.Y * mat.M10, scale.Y * mat.M11, scale.Y * mat.M12, scale.Z * mat.M20, scale.Z * mat.M21, scale.Z * mat.M22)); }
public static M3__x3t__ Multiply(M2__x2t__ matrix, Scale__x3t__ scale) { return(new M3__x3t__(matrix.M00 * scale.X, matrix.M01 * scale.Y, 0, matrix.M10 * scale.X, matrix.M11 * scale.Y, 0, 0, 0, scale.Z)); }
/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="Shift__x3t__"/>. /// </summary> public static M3__x4t__ Multiply(Scale__x3t__ scale, Shift__x3t__ shift) { return(new M3__x4t__( scale.X, 0, 0, scale.X * shift.X, 0, scale.Y, 0, scale.Y * shift.Y, 0, 0, scale.Z, scale.Z * shift.Z )); }
/// <summary> /// Multiplacation of a <see cref="M4__x4t__"/> with a <see cref="Scale__x3t__"/>. /// </summary> public static M4__x4t__ Multiply(M4__x4t__ matrix, Scale__x3t__ scale) { return(new M4__x4t__( matrix.M00 * scale.X, matrix.M01 * scale.Y, matrix.M02 * scale.Z, matrix.M03, matrix.M10 * scale.X, matrix.M11 * scale.Y, matrix.M12 * scale.Z, matrix.M13, matrix.M20 * scale.X, matrix.M21 * scale.Y, matrix.M22 * scale.Z, matrix.M23, matrix.M30 * scale.X, matrix.M31 * scale.Y, matrix.M32 * scale.Z, matrix.M33 )); }
/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="M4__x4t__"/>. /// </summary> public static M4__x4t__ Multiply(Scale__x3t__ scale, M4__x4t__ mat) { return(new M4__x4t__( scale.X * mat.M00, scale.X * mat.M01, scale.X * mat.M02, scale.X * mat.M03, scale.Y * mat.M10, scale.Y * mat.M11, scale.Y * mat.M12, scale.Y * mat.M13, scale.Z * mat.M20, scale.Z * mat.M21, scale.Z * mat.M22, scale.Z * mat.M23, mat.M30, mat.M31, mat.M32, mat.M33 )); }
/// <summary> /// Calculates the division of a <see cref="Scale__x3t__"/> with a __ft__ scalar. /// </summary> public static Scale__x3t__ operator /(Scale__x3t__ scale, __ft__ value) { return(Scale__x3t__.Divide(scale, value)); }
/// <summary> /// Calculates the multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="Shift__x3t__"/>. /// </summary> public static M3__x4t__ operator *(Scale__x3t__ scale, Shift__x3t__ shift) { return(Scale__x3t__.Multiply(scale, shift)); }
/// <summary> /// Calculates the multiplacation of a <see cref="V__x3t__"/> with a <see cref="Scale__x3t__"/>. /// </summary> public static V__x3t__ operator *(V__x3t__ vector, Scale__x3t__ scale) { return(Scale__x3t__.Multiply(scale, vector)); }
/// <summary> /// Calculates the multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="Scale__x3t__"/>. /// </summary> public static Scale__x3t__ operator *(Scale__x3t__ scale1, Scale__x3t__ scale2) { return(Scale__x3t__.Multiply(scale1, scale2)); }
/// <summary> /// Calculates the multiplacation of a <see cref="Scale__x3t__"/> with a __ft__ scalar. /// </summary> public static Scale__x3t__ operator *(__ft__ scalar, Scale__x3t__ scale) { return(Scale__x3t__.Multiply(scale, scalar)); }
public static M3__x3t__ Multiply(Scale__x3t__ scale, Rot__x2t__ rot) { return(Scale__x3t__.Multiply(scale, (M2__x2t__)rot)); }
/// <summary> /// Calculates the multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="M4__x4t__"/>. /// </summary> public static M4__x4t__ operator *(Scale__x3t__ scale, M4__x4t__ matrix) { return(Scale__x3t__.Multiply(scale, matrix)); }
/// <summary> /// Multiplication of two <see cref="Scale__x3t__"/>s. /// </summary> public static Scale__x3t__ Multiply(Scale__x3t__ scale0, Scale__x3t__ scale1) { return(new Scale__x3t__(scale0.X * scale1.X, scale0.Y * scale1.Y, scale0.Z * scale1.Z)); }
/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="V__x3t__"/>. /// </summary> public static V__x3t__ Multiply(Scale__x3t__ scale, V__x3t__ v) { return(new V__x3t__(scale.X * v.X, scale.Y * v.Y, scale.Z * v.Z)); }
/// <summary> /// Negates all values of a <see cref="Scale__x3t__"/>. /// </summary> public static Scale__x3t__ Negate(Scale__x3t__ scale) { return(new Scale__x3t__(-scale.X, -scale.Y, -scale.Z)); }
/// <summary> /// Division of a __ft__ scalar with a <see cref="Scale__x3t__"/>. /// </summary> public static Scale__x3t__ Divide(__ft__ val, Scale__x3t__ scale) { return(Multiply(Reciprocal(scale), val)); }
/// <summary> /// Division of a <see cref="Scale__x3t__"/> instance with a __ft__ scalar. /// </summary> public static Scale__x3t__ Divide(Scale__x3t__ scale, __ft__ val) { return(Multiply(scale, 1 / val)); }
/// <summary> /// Calculates the division of a __ft__ scalar with a <see cref="Scale__x3t__"/>. /// </summary> public static Scale__x3t__ operator /(__ft__ value, Scale__x3t__ scale) { return(Scale__x3t__.Divide(value, scale)); }
/// <summary> /// Multiplacation of a <see cref="Scale__x3t__"/> with a <see cref="V__x2t__"/>. /// </summary> public static V__x2t__ Multiply(Scale__x3t__ scale, V__x2t__ v) { return(new V__x2t__(v.X * scale.X, v.Y * scale.Y)); }
/// <summary> /// </summary> public static M3__x3t__ operator *(Scale__x3t__ scale, Rot__x3t__ quaternion) { return(Scale__x3t__.Multiply(scale, quaternion)); }
/// <summary> /// Calculates the reciprocal of a <see cref="Scale__x3t__"/>. /// </summary> public static Scale__x3t__ Reciprocal(Scale__x3t__ scale) { return(new Scale__x3t__(1 / scale.X, 1 / scale.Y, 1 / scale.Z)); }
/// <summary> /// </summary> public static M3__x3t__ operator *(Scale__x3t__ scale, Rot__x2t__ rotation) { return(Scale__x3t__.Multiply(scale, rotation)); }
/// <summary> /// Negates the values of a <see cref="Scale__x3t__"/> instance. /// </summary> public static Scale__x3t__ operator -(Scale__x3t__ scalingVector) { return(Scale__x3t__.Negate(scalingVector)); }
/// <summary> /// Multiplacation of a __ft__ scalar with a <see cref="Scale__x3t__"/>. /// </summary> public static Scale__x3t__ Multiply(Scale__x3t__ scale, __ft__ value) { return(new Scale__x3t__(scale.X * value, scale.Y * value, scale.Z * value)); }