public static uint hash(RigidTransform t) { return(hash(t.rot) + 0xC5C5394Bu * hash(t.pos)); }
public static uint4 hashwide(RigidTransform t) { return(hashwide(t.rot) + 0xC5C5394Bu * hashwide(t.pos).xyzz); }
public static float3 rotate(RigidTransform a, float3 dir) { return(mul(a.rot, dir)); }
public static float3 transform(RigidTransform a, float3 pos) { return(mul(a.rot, pos) + a.pos); }
public static float4 mul(RigidTransform a, float4 pos) { return(float4(mul(a.rot, pos.xyz) + a.pos * pos.w, pos.w)); }
public static RigidTransform mul(RigidTransform a, RigidTransform b) { return(new RigidTransform(mul(a.rot, b.rot), mul(a.rot, b.pos) + a.pos)); }
// Equals public bool Equals(RigidTransform rhs) { return(rot.Equals(rhs.rot) && pos.Equals(rhs.pos)); }
/// <summary>Returns a float4x4 constructed from a RigidTransform.</summary> public static float4x4 float4x4(RigidTransform transform) { return(new float4x4(transform)); }
public bool Equals(RigidTransform x) { return(rot.Equals(x.rot) && pos.Equals(x.pos)); }