Пример #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <param name="z"></param>
 public void Deconstruct(out Vec2d scale, out OrthoBasis2d rotation, out Vec2d translation)
 {
     scale       = Scale;
     rotation    = Rotation;
     translation = Translation;
 }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="scale"></param>
 /// <param name="rotation"></param>
 /// <param name="translation"></param>
 public Transform2d(Vec2d scale, OrthoBasis2d rotation, Vec2d translation)
 {
     Scale       = scale;
     Rotation    = rotation;
     Translation = translation;
 }
Пример #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="rotation"></param>
 /// <param name="translation"></param>
 public Orient2d(OrthoBasis2d rotation, Vec2d translation)
 {
     Rotation    = rotation;
     Translation = translation;
 }
Пример #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="scale"></param>
 /// <param name="orientation"></param>
 public Transform2d(Vec2d scale, Orient2d orientation)
 {
     Scale       = scale;
     Rotation    = orientation.Rotation;
     Translation = orientation.Translation;
 }
Пример #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="origin"></param>
 /// <param name="x"></param>
 public Orient2d(Vec2d origin, Vec2d x)
 {
     Rotation    = new OrthoBasis2d(x);
     Translation = origin;
 }
Пример #6
0
 /// <summary>
 /// Creates a relative rotation from t0 to t1.
 /// </summary>
 /// <param name="from"></param>
 /// <param name="to"></param>
 /// <returns></returns>
 public static OrthoBasis2d CreateFromTo(OrthoBasis2d from, OrthoBasis2d to)
 {
     return(to.Apply(from.Inverse));
 }
Пример #7
0
 /// <summary>
 /// Applies the inverse of this rotation to the given rotation.
 /// </summary>
 /// <param name="other"></param>
 public OrthoBasis2d ApplyInverse(OrthoBasis2d other)
 {
     other._x = ApplyInverse(other._x);
     return(other);
 }
Пример #8
0
 /// <summary>
 /// Applies this rotation to the given rotation.
 /// </summary>
 /// <param name="other"></param>
 public OrthoBasis2d Apply(OrthoBasis2d other)
 {
     other._x = Apply(other._x);
     return(other);
 }
Пример #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="other"></param>
 /// <param name="tolerance"></param>
 /// <returns></returns>
 public bool ApproxEquals(OrthoBasis2d other, double tolerance = SlurMath.ZeroTolerance)
 {
     return(_x.ApproxEquals(other._x, tolerance));
 }