Beispiel #1
0
        public void Ctor(double x, double y, double width, double height)
        {
            var point = new RoixPoint(x, y);
            var size  = new RoixSize(width, height);

            var rect1 = new RoixRect(point, size);

            rect1.Location.X.Is(point.X);
            rect1.Location.Y.Is(point.Y);
            rect1.Size.Width.Is(size.Width);
            rect1.Size.Height.Is(size.Height);

            var rect2 = new RoixRect(x, y, width, height);

            rect2.Location.X.Is(point.X);
            rect2.Location.Y.Is(point.Y);
            rect2.Size.Width.Is(size.Width);
            rect2.Size.Height.Is(size.Height);

            var point3 = point + (RoixVector)size;
            var rect3  = new RoixRect(point, point3);

            rect3.Location.X.Is(point.X);
            rect3.Location.Y.Is(point.Y);
            rect3.Size.Width.Is(size.Width);
            rect3.Size.Height.Is(size.Height);

            var rect4 = new RoixRect(point, (RoixVector)size);

            rect4.X.Is(point.X);
            rect4.Y.Is(point.Y);
            rect4.Size.Width.Is(size.Width);
            rect4.Size.Height.Is(size.Height);
        }
Beispiel #2
0
        public void Ctor(double x, double y)
        {
            var point = new RoixPoint(x, y);

            point.X.Is(x);
            point.Y.Is(y);
        }
Beispiel #3
0
        public void Ctor(double roiX, double roiY, double roiWidth, double roiHeight, double borderWidth, double borderHeight)
        {
            var point  = new RoixPoint(roiX, roiY);
            var size   = new RoixSize(roiWidth, roiHeight);
            var rect   = new RoixRect(point, size);
            var border = new RoixSize(borderWidth, borderHeight);

            var br1 = new RoixBorderRect(rect, border);

            br1.Roi.Is(rect);
            br1.Border.Is(border);
            new RoixBorderRect(rect, RoixSize.Zero);     //OK
            Assert.Throws <ArgumentException>(() => new RoixBorderRect(rect, RoixSize.Empty));

            var gpoint1 = new RoixBorderPoint(point, border);
            var gsize   = new RoixBorderSize(size, border);
            var br2     = new RoixBorderRect(gpoint1, gsize);

            br2.Roi.Is(rect);
            br2.Border.Is(border);
            Assert.Throws <ArgumentException>(() => new RoixBorderRect(gpoint1, RoixBorderSize.Zero));

            var gpoint2 = new RoixBorderPoint(point + (RoixVector)size, border);
            var br3     = new RoixBorderRect(gpoint1, gpoint2);

            br3.Roi.Is(rect);
            br3.Border.Is(border);
            Assert.Throws <ArgumentException>(() => new RoixBorderRect(gpoint1, RoixBorderPoint.Zero));

            var gvector = new RoixBorderVector((RoixVector)size, border);
            var br4     = new RoixBorderRect(gpoint1, gvector);

            br4.Roi.Is(rect);
            br4.Border.Is(border);
        }
Beispiel #4
0
        public void ToWindows(double x, double y)
        {
            var rp1 = new RoixPoint(x, y);

            System.Windows.Point ws1 = (System.Windows.Point)rp1;
            ws1.X.Is(rp1.X);
            ws1.Y.Is(rp1.Y);
        }
Beispiel #5
0
        public void Deconstruct()
        {
            var point = new RoixPoint(1.1, 2.2);

            var(x, y) = point;
            x.Is(point.X);
            y.Is(point.Y);
        }
Beispiel #6
0
        public void IsInside(double x, double y, bool isInside)
        {
            var canvs = new RoixSize(10, 10);
            var ip    = new RoixPoint(x, y);

            ip.IsInside(canvs).Is(isInside);
            ip.IsOutside(canvs).Is(!isInside);
        }
Beispiel #7
0
        public void FromRoix()
        {
            double       x = 1.1, y = 2.2;
            var          rp1  = new RoixPoint(x, y);
            RoixIntPoint rip1 = rp1.ToRoixInt();

            rip1.X.Is((int)Math.Round(rp1.X));
            rip1.Y.Is((int)Math.Round(rp1.Y));
        }
Beispiel #8
0
        public void ToRoix(double x, double y)
        {
            var rv = new RoixVector(x, y);

            RoixPoint rp = (RoixPoint)rv;

            rp.X.Is(rv.X);
            rp.Y.Is(rv.Y);
        }
Beispiel #9
0
        public void ToRoix()
        {
            int       x = 1, y = 2;
            var       rip1 = new RoixIntPoint(x, y);
            RoixPoint rp1  = (RoixPoint)rip1;

            rp1.X.Is(rip1.X);
            rp1.Y.Is(rip1.Y);
        }
Beispiel #10
0
        public void Deconstruct()
        {
            var point = new RoixPoint(1.1, 2.2);
            var size  = new RoixSize(3.3, 4.4);
            var bp    = new RoixBorderPoint(point, size);

            var(roi, border) = bp;
            roi.Is(point);
            border.Is(size);
        }
Beispiel #11
0
        public void IsZero()
        {
            var point = new RoixPoint(1, 0);
            var size  = new RoixSize(10, 10);

            new RoixBorderPoint(point, size).IsZero.IsFalse();
            new RoixBorderPoint(point, RoixSize.Zero).IsZero.IsFalse();
            new RoixBorderPoint(RoixPoint.Zero, size).IsZero.IsFalse();
            new RoixBorderPoint(RoixPoint.Zero, RoixSize.Zero).IsZero.IsTrue();
            RoixBorderPoint.Zero.IsZero.IsTrue();
        }
Beispiel #12
0
        public void ToPointCollectionOk(double p1x, double p1y, double p2x, double p2y)
        {
            var point1 = new RoixPoint(p1x, p1y);
            var point2 = new RoixPoint(p2x, p2y);
            var rect   = new RoixRect(point1, point2);
            var src    = new[] { rect.TopLeft, rect.TopRight, rect.BottomRight, rect.BottomLeft };

            var pc = rect.ToPointCollection();

            pc.Select(p => (RoixPoint)p).Is(src);
        }
Beispiel #13
0
        public void Equal()
        {
            double x = 1.1, y = 2.2;
            var    p1 = new RoixPoint(x, y);
            var    p2 = new RoixPoint(x, y);

            p1.Equals(p2).IsTrue();
            (p1 == p2).IsTrue();
            (p1 != p2).IsFalse();

            var obj2 = (object)p2;

            p1.Equals(obj2).IsTrue();
        }
Beispiel #14
0
        public void ConvertToNewBorder(double ratio)
        {
            var point = new RoixPoint(10, 20);
            var size  = new RoixSize(100, 100);
            var bp1   = new RoixBorderPoint(point, size);

            var newSize = new RoixSize(size.Width * ratio, size.Height * ratio);
            var bp2     = bp1.ConvertToNewBorder(newSize);

            bp2.Point.Is(new RoixPoint(point.X * ratio, point.Y * ratio));

            Assert.Throws <ArgumentException>(() => bp1.ConvertToNewBorder(RoixSize.Empty));
            Assert.Throws <ArgumentException>(() => bp1.ConvertToNewBorder(new RoixSize(0, 0)));
        }
Beispiel #15
0
        public void GetClippedRoiBySizePriority_2_2_枠の食み出しを位置制限してOK(
            double roiX, double roiY, double roiWidth, double roiHeight, double ansX, double ansY)
        {
            var border   = new RoixSize(10, 10);
            var roi      = new RoixRect(roiX, roiY, roiWidth, roiHeight);
            var ansPoint = new RoixPoint(ansX, ansY);

            var broi        = new RoixBorderRect(roi, border);
            var clippedRect = broi.GetClippedBorderRect(isPointPriority: false);

            clippedRect.Roi.TopLeft.Is(ansPoint);
            clippedRect.Roi.Size.Is(roi.Size);
            clippedRect.Border.Is(broi.Border);
        }
Beispiel #16
0
        public void ConvertToNewBorder(double ratio)
        {
            var point  = new RoixPoint(10, 20);
            var size   = new RoixSize(20, 40);
            var border = new RoixSize(100, 100);
            var br1    = new RoixBorderRect(new RoixRect(point, size), border);

            var newSize = new RoixSize(border.Width * ratio, border.Height * ratio);
            var br2     = br1.ConvertToNewBorder(newSize);

            br2.Roi.TopLeft.Is(new RoixPoint(point.X * ratio, point.Y * ratio));
            br2.Roi.Size.Is(new RoixSize(size.Width * ratio, size.Height * ratio));

            Assert.Throws <ArgumentException>(() => br1.ConvertToNewBorder(RoixSize.Empty));
            Assert.Throws <ArgumentException>(() => br1.ConvertToNewBorder(new RoixSize(0, 0)));
        }
Beispiel #17
0
        public void FromRoix()
        {
            var        rs1 = new RoixSize(1.1, 2.2);
            RoixVector rv1 = (RoixVector)rs1;

            rv1.X.Is(rs1.Width);
            rv1.Y.Is(rs1.Height);

            RoixPoint rp1 = (RoixPoint)rs1;

            rp1.X.Is(rs1.Width);
            rp1.Y.Is(rs1.Height);

            Assert.Throws <ArgumentException>(() => (RoixVector)RoixSize.Empty);
            Assert.Throws <ArgumentException>(() => (RoixPoint)RoixSize.Empty);
        }
Beispiel #18
0
        public void Operators(double x1, double y1, double x2, double y2)
        {
            var p1 = new RoixPoint(x1, y1) + new RoixVector(x2, y2);

            p1.X.Is(x1 + x2);
            p1.Y.Is(y1 + y2);

            var p2 = new RoixPoint(x1, y1) - new RoixVector(x2, y2);

            p2.X.Is(x1 - x2);
            p2.Y.Is(y1 - y2);

            var v1 = new RoixPoint(x1, y1) - new RoixPoint(x2, y2);

            v1.X.Is(x1 - x2);
            v1.Y.Is(y1 - y2);
        }
Beispiel #19
0
        public void Ctor(double x, double y, double width, double height)
        {
            var point = new RoixPoint(x, y);
            var size  = new RoixSize(width, height);
            var bp1   = new RoixBorderPoint(point, size);

            bp1.Point.X.Is(x);
            bp1.Point.Y.Is(y);
            bp1.Border.Width.Is(width);
            bp1.Border.Height.Is(height);

            var bp2 = new RoixBorderPoint(new(x, y), new(width, height));

            bp2.Point.Is(bp1.Point);
            bp2.Border.Is(bp1.Border);

            new RoixBorderPoint(point, RoixSize.Zero);     //OK
        }
Beispiel #20
0
        public void ToRoix(double x, double y)
        {
            var       wp1 = new System.Windows.Point(x, y);
            RoixPoint rp1 = (RoixPoint)wp1;

            rp1.X.Is(wp1.X);
            rp1.Y.Is(wp1.Y);

            var        rp2 = new RoixPoint(x, y);
            RoixVector rv2 = (RoixVector)rp2;

            rv2.X.Is(rp2.X);
            rv2.Y.Is(rp2.Y);

            if (rp2.X >= 0 && rp2.Y >= 0)
            {
                RoixSize rs2 = (RoixSize)rp2;
                rs2.Width.Is(rp2.X);
                rs2.Height.Is(rp2.Y);
            }
        }
Beispiel #21
0
        public void Properties(double x, double y, double width, double height)
        {
            var point = new RoixPoint(x, y);
            var size  = new RoixSize(width, height);
            var r     = new RoixRect(point, size);

            r.X.Is(r.Location.X);
            r.Y.Is(r.Location.Y);
            r.Width.Is(r.Size.Width);
            r.Height.Is(r.Size.Height);

            r.Left.Is(r.X);
            r.Right.Is(r.X + r.Width);
            r.Top.Is(r.Y);
            r.Bottom.Is(r.Y + r.Height);

            r.TopLeft.Is(new(r.Left, r.Top));
            r.TopRight.Is(new(r.Right, r.Top));
            r.BottomLeft.Is(new(r.Left, r.Bottom));
            r.BottomRight.Is(new(r.Right, r.Bottom));
        }
Beispiel #22
0
 public static RoixPoint <T> Add(RoixPoint <T> point, RoixVector <T> vector) => new(_op.Add(point.X, vector.X), _op.Add(point.Y, vector.Y));