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));
 }
示例#9
0
 public bool Equals(RigidTransform x)
 {
     return(rot.Equals(x.rot) && pos.Equals(x.pos));
 }