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); }
public void Ctor(double x, double y) { var point = new RoixPoint(x, y); point.X.Is(x); point.Y.Is(y); }
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); }
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); }
public void Deconstruct() { var point = new RoixPoint(1.1, 2.2); var(x, y) = point; x.Is(point.X); y.Is(point.Y); }
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); }
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)); }
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); }
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); }
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); }
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(); }
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); }
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(); }
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))); }
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); }
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))); }
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); }
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); }
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 }
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); } }
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)); }
public static RoixPoint <T> Add(RoixPoint <T> point, RoixVector <T> vector) => new(_op.Add(point.X, vector.X), _op.Add(point.Y, vector.Y));