public void Select <T>(ref IVector4D <T> aOut, IConstVector4D <T> aTrue, IConstVector4D <T> aFalse) { aOut.x = mX ? aTrue.x : aFalse.x; aOut.y = mY ? aTrue.y : aFalse.y; aOut.z = mZ ? aTrue.z : aFalse.z; aOut.w = mW ? aTrue.w : aFalse.w; }
public T Select <T, UT>(T aTrue, IConstVector4D <UT> aFalse) where T : IVector4D <UT>, new() { T r = new T(); r.x = mX ? aTrue.x : aFalse.x; r.y = mY ? aTrue.y : aFalse.y; r.z = mZ ? aTrue.z : aFalse.z; r.w = mW ? aTrue.w : aFalse.w; return(r); }