示例#1
0
 public bool PrecisionEqual(Frame3f f2, int nDigits)
 {
     return(origin.PrecisionEqual(f2.origin, nDigits) &&
            rotation.PrecisionEqual(f2.rotation, nDigits));
 }
示例#2
0
 public bool EpsilonEqual(Frame3f f2, float epsilon)
 {
     return(origin.EpsilonEqual(f2.origin, epsilon) &&
            rotation.EpsilonEqual(f2.rotation, epsilon));
 }
示例#3
0
 public static Frame3f Interpolate(Frame3f f1, Frame3f f2, float alpha)
 {
     return(new Frame3f(
                Vector3F.Lerp(f1.origin, f2.origin, alpha),
                Quaternionf.Slerp(f1.rotation, f2.rotation, alpha)));
 }
示例#4
0
 /// <summary> Map frame *from* local frame coordinates into "world" coordinates </summary>
 public Frame3f FromFrame(Frame3f f)
 {
     return(new Frame3f(FromFrameP(f.origin), FromFrame(f.rotation)));
 }
示例#5
0
 ///<summary> Map frame *into* local coordinates of Frame </summary>
 public Frame3f ToFrame(Frame3f f)
 {
     return(new Frame3f(ToFrameP(f.origin), ToFrame(f.rotation)));
 }
示例#6
0
 public Frame3f(Frame3f copy)
 {
     this.rotation = copy.rotation;
     this.origin   = copy.origin;
 }