/// <summary> /// Returns TRUE if this is an orthonormal transformation with the given /// tolerance. /// </summary> /// <remarks> /// Returns TRUE if this is an orthonormal transformation with the given /// tolerance. The orthonormal: Rotation or rotoinversion and shift /// (preserves lengths of vectors and angles between vectors). /// </remarks> /// <param name="tol">The tolerance value.</param> public bool IsOrthonormal(double tol) { com.epl.geometry.Transformation2D r = new com.epl.geometry.Transformation2D(); r.xx = xx * xx + xy * xy; r.xy = xx * yx + xy * yy; r.yx = yx * xx + yy * xy; r.yy = yx * yx + yy * yy; r.xd = 0; r.yd = 0; return(r.IsIdentity(tol)); }