Пример #1
0
        protected override Roi CreateRoiFromGraphic(IOverlayGraphicsProvider overlayGraphics, RectangleF shapeData)
        {
            EllipsePrimitive graphic = new EllipsePrimitive();

            overlayGraphics.OverlayGraphics.Add(graphic);
            graphic.CoordinateSystem = CoordinateSystem.Source;
            graphic.TopLeft          = shapeData.Location;
            graphic.BottomRight      = shapeData.Location + shapeData.Size;
            graphic.ResetCoordinateSystem();
            return(graphic.GetRoi());
        }
Пример #2
0
        public void TestEllipseGetRoi()
        {
            // test null ellipse
            {
                var ellipse = new EllipsePrimitive();
                ellipse.TopLeft     = new PointF(5, 5);
                ellipse.BottomRight = new PointF(5, 5);
                var roi = ellipse.GetRoi();
                Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
                AssertAreEqual(new RectangleF(5, 5, 0, 0), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
            }

            // test positive ellipse
            {
                var ellipse = new EllipsePrimitive();
                ellipse.TopLeft     = new PointF(0, 0);
                ellipse.BottomRight = new PointF(1, 1);
                var roi = ellipse.GetRoi();
                Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
                AssertAreEqual(new RectangleF(0, 0, 1, 1), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
            }

            // test inverted ellipse
            {
                var ellipse = new EllipsePrimitive();
                ellipse.TopLeft     = new PointF(5, 5);
                ellipse.BottomRight = new PointF(-1, -1);
                var roi = ellipse.GetRoi();
                Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
                AssertAreEqual(new RectangleF(-1, -1, 6, 6), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
            }

            // test negative width ellipse
            {
                var ellipse = new EllipsePrimitive();
                ellipse.TopLeft     = new PointF(5, 5);
                ellipse.BottomRight = new PointF(-1, 6);
                var roi = ellipse.GetRoi();
                Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
                AssertAreEqual(new RectangleF(-1, 5, 6, 1), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
            }

            // test negative height ellipse
            {
                var ellipse = new EllipsePrimitive();
                ellipse.TopLeft     = new PointF(5, 5);
                ellipse.BottomRight = new PointF(6, -1);
                var roi = ellipse.GetRoi();
                Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
                AssertAreEqual(new RectangleF(5, -1, 1, 6), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
            }
        }
Пример #3
0
		public void TestEllipseGetRoi()
		{
			// test null ellipse
			{
				var ellipse = new EllipsePrimitive();
				ellipse.TopLeft = new PointF(5, 5);
				ellipse.BottomRight = new PointF(5, 5);
				var roi = ellipse.GetRoi();
				Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
				AssertAreEqual(new RectangleF(5, 5, 0, 0), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
			}

			// test positive ellipse
			{
				var ellipse = new EllipsePrimitive();
				ellipse.TopLeft = new PointF(0, 0);
				ellipse.BottomRight = new PointF(1, 1);
				var roi = ellipse.GetRoi();
				Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
				AssertAreEqual(new RectangleF(0, 0, 1, 1), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
			}

			// test inverted ellipse
			{
				var ellipse = new EllipsePrimitive();
				ellipse.TopLeft = new PointF(5, 5);
				ellipse.BottomRight = new PointF(-1, -1);
				var roi = ellipse.GetRoi();
				Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
				AssertAreEqual(new RectangleF(-1, -1, 6, 6), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
			}

			// test negative width ellipse
			{
				var ellipse = new EllipsePrimitive();
				ellipse.TopLeft = new PointF(5, 5);
				ellipse.BottomRight = new PointF(-1, 6);
				var roi = ellipse.GetRoi();
				Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
				AssertAreEqual(new RectangleF(-1, 5, 6, 1), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
			}

			// test negative height ellipse
			{
				var ellipse = new EllipsePrimitive();
				ellipse.TopLeft = new PointF(5, 5);
				ellipse.BottomRight = new PointF(6, -1);
				var roi = ellipse.GetRoi();
				Assert.IsNotNull(roi, "EllipsePrimitive.GetRoi() should never return null (rect = {0})", ellipse.Rectangle);
				AssertAreEqual(new RectangleF(5, -1, 1, 6), roi.BoundingBox, _dimensionTolerance, "EllipsePrimitive.GetRoi() returned wrong ROI (ellipse = {0})", ellipse.Rectangle);
			}
		}