Example #1
0
        public void TestSanity()
        {
            // AreEqual
            {
                float x = 1.0f;
                float y = 2.0f;
                float z = x + y;

                Assert.IsTrue(FloatComparer.AreEqual(z, 3.0f));
            }

            // IsGreaterThan
            {
                float x = 1.001f;
                float y = 1.0f;

                Assert.IsTrue(FloatComparer.IsGreaterThan(x, y));
            }

            // IsLessThan
            {
                float x = 1.001f;
                float y = 1.0f;

                Assert.IsTrue(FloatComparer.IsLessThan(y, x));
            }
        }
            /// <summary>
            /// Performs a hit test on the snap graphic at given point.
            /// </summary>
            /// <param name="point">The mouse position in destination coordinates.</param>
            /// <returns>
            /// <b>True</b> if <paramref name="point"/> is inside the snap graphic's radius, <b>false</b> otherwise.
            /// </returns>
            public override bool HitTest(Point point)
            {
                base.CoordinateSystem = CoordinateSystem.Source;
                bool result = FloatComparer.IsLessThan((float)Vector.Distance(base.SpatialTransform.ConvertToSource(point), this.Location), this.Radius);

                base.ResetCoordinateSystem();

                return(result);
            }
        public bool IsOrthogonalTo(DicomImagePlane other, float angleTolerance)
        {
            angleTolerance = Math.Abs(angleTolerance);
            float upper = (float)Math.PI / 2 + angleTolerance;
            float lower = (float)Math.PI / 2 - angleTolerance;

            float angle = GetAngleBetween(other);

            return(FloatComparer.IsGreaterThan(angle, lower) && FloatComparer.IsLessThan(angle, upper));
        }
Example #4
0
        private static void AssertDoublePrecisionConsistency(CompareResult expectedResult, double x, double y, string message, params object[] args)
        {
            var expectedAreEqual      = expectedResult == CompareResult.AreEqual;
            var expectedIsGreaterThan = expectedResult == CompareResult.GreaterThan;
            var expectedIsLessThan    = expectedResult == CompareResult.LessThan;

            var actualResult        = FloatComparer.Compare(x, y, 100);
            var actualAreEqual      = FloatComparer.AreEqual(x, y);
            var actualIsGreaterThan = FloatComparer.IsGreaterThan(x, y);
            var actualIsLessThan    = FloatComparer.IsLessThan(x, y);

            Assert.AreEqual((int)expectedResult, actualResult, message + " [Compare/double]", args);
            Assert.AreEqual(expectedAreEqual, actualAreEqual, message + " [AreEqual/double]", args);
            Assert.AreEqual(expectedIsGreaterThan, actualIsGreaterThan, message + " [IsGreaterThan/double]", args);
            Assert.AreEqual(expectedIsLessThan, actualIsLessThan, message + " [IsLessThan/double]", args);
        }
        public bool IsParallelTo(DicomImagePlane other, float angleTolerance)
        {
            angleTolerance = Math.Abs(angleTolerance);
            float upper = angleTolerance;
            float lower = -angleTolerance;

            float angle = GetAngleBetween(other);

            bool parallel = FloatComparer.IsGreaterThan(angle, lower) && FloatComparer.IsLessThan(angle, upper);

            if (!parallel)
            {
                upper    = (float)Math.PI + angleTolerance;
                lower    = (float)Math.PI - angleTolerance;
                parallel = FloatComparer.IsGreaterThan(angle, lower) && FloatComparer.IsLessThan(angle, upper);
            }

            return(parallel);
        }