public bool PrecisionEqual(Frame3f f2, int nDigits) { return(origin.PrecisionEqual(f2.origin, nDigits) && rotation.PrecisionEqual(f2.rotation, nDigits)); }
public bool EpsilonEqual(Frame3f f2, float epsilon) { return(origin.EpsilonEqual(f2.origin, epsilon) && rotation.EpsilonEqual(f2.rotation, epsilon)); }
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))); }
/// <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))); }
///<summary> Map frame *into* local coordinates of Frame </summary> public Frame3f ToFrame(Frame3f f) { return(new Frame3f(ToFrameP(f.origin), ToFrame(f.rotation))); }
public Frame3f(Frame3f copy) { this.rotation = copy.rotation; this.origin = copy.origin; }