コード例 #1
0
        private static double[] TestForwardAndBackProjNet(IMathTransform transform, double[] ordinates,
                                                          ref int succeed, ref int failed, ref int exception)
        {
            try
            {
                var forward = transform.Transform(ordinates);

                transform.Invert();
                var back = transform.Transform(ordinates);
                transform.Invert();

                if (Math.Abs(ordinates[0] - back[0]) <= Tolerance &&
                    Math.Abs(ordinates[1] - back[1]) <= Tolerance)
                {
                    succeed++;
                }
                else
                {
                    failed++;
                }

                return(forward);
            }
            catch
            {
                exception++;
            }
            return(ordinates);
        }
コード例 #2
0
 /// <summary>
 /// Returns the inverse of this conversion.
 /// </summary>
 /// <returns>IMathTransform that is the reverse of the current conversion.</returns>
 public override IMathTransform Inverse()
 {
     if (_inverse == null)
     {
         _inverse = new ConcatenatedTransform(_CoordinateTransformationList);
         _inverse.Invert();
     }
     return(_inverse);
 }
コード例 #3
0
 /// <summary>
 /// Returns the inverse of this conversion.
 /// </summary>
 /// <returns>IMathTransform that is the reverse of the current conversion.</returns>
 public override IMathTransform Inverse()
 {
     if (_inverse == null)
     {
         _inverse = Clone();
         _inverse.Invert();
     }
     return(_inverse);
 }
コード例 #4
0
 /// <summary>
 /// Returns the inverse of this conversion.
 /// </summary>
 /// <returns>IMathTransform that is the reverse of the current conversion.</returns>
 public override IMathTransform Inverse()
 {
     if (_inverse == null)
     {
         _inverse = new ConcatenatedTransform(_CoordinateTransformationList);
         _inverse.Invert();
     }
     return _inverse;
 }
コード例 #5
0
        private static double[] TestForwardAndBackProjNet(IMathTransform transform, double[] ordinates,
            ref int succeed, ref int failed, ref int exception)
        {
            try
            {
                var forward = transform.Transform(ordinates);

                transform.Invert();
                var back = transform.Transform(ordinates);
                transform.Invert();

                if (Math.Abs(ordinates[0] - back[0]) <= Tolerance &&
                    Math.Abs(ordinates[1] - back[1]) <= Tolerance)
                {
                    succeed++;
                }
                else
                {
                    failed++;
                }

                return forward;
            }
            catch
            {
                exception++;
            }
            return ordinates;
        }
コード例 #6
0
		/// <summary>
		/// Returns the inverse of this conversion.
		/// </summary>
		/// <returns>IMathTransform that is the reverse of the current conversion.</returns>
		public override IMathTransform Inverse()
		{
			if (_inverse == null)
			{
				_inverse = Clone();
				_inverse.Invert();
			}
			return _inverse;
		}
コード例 #7
0
 /// <summary>
 /// Creates the inverse transform of this object.
 /// </summary>
 /// <remarks>
 /// This method may fail if the transform is not one to one.
 /// </remarks>
 public override IMathTransform Inverse()
 {
     if (InverseTransform == null)
     {
         InverseTransform = new ConcatenatedTransform(_coordinateTransformationList);
         InverseTransform.Invert();
     }
     return InverseTransform;
 }