当前位置: 首页>>代码示例>>C#>>正文


C# Polygon.Equals方法代码示例

本文整理汇总了C#中Polygon.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# Polygon.Equals方法的具体用法?C# Polygon.Equals怎么用?C# Polygon.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Polygon的用法示例。


在下文中一共展示了Polygon.Equals方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PolygonTest

        public void PolygonTest()
        {
            Polygon p = new Polygon();
            Assert.IsTrue(p.IsEmpty());
            Assert.AreEqual(0, p.NumInteriorRing);
            Assert.AreEqual(p.NumInteriorRing, p.InteriorRings.Count);
            Assert.IsFalse(p.Equals(null));
            Assert.IsTrue(p.Equals(new Polygon()));
            Assert.AreEqual(BoundingBox.Empty, p.GetBoundingBox());
            LinearRing ring = new LinearRing();
            ring.Vertices.Add(new Point(10, 10));
            ring.Vertices.Add(new Point(20, 10));
            ring.Vertices.Add(new Point(20, 20));
            Assert.IsFalse(ring.IsCcw());
            ring.Vertices.Add(new Point(10, 20));
            ring.Vertices.Add(ring.Vertices[0].Clone() as Point);
            Assert.IsTrue(ring.IsPointWithin(new Point(15, 15)));
            Assert.AreNotSame(ring.Clone(), ring);
            p.ExteriorRing = ring;


            Assert.AreEqual(100, p.Area);
            LinearRing ring2 = new LinearRing();
            ring2.Vertices.Add(new Point(11, 11));
            ring2.Vertices.Add(new Point(19, 11));
            ring2.Vertices.Add(new Point(19, 19));
            ring2.Vertices.Add(new Point(11, 19));
            ring2.Vertices.Add(ring2.Vertices[0].Clone() as Point);
            p.InteriorRings.Add(ring2);
            Assert.AreEqual(100 + 64, p.Area);
            // Reverse() doesn't exist for Collections
            //ring2.Vertices.Reverse();
            //Assert.AreEqual(100 - 64, p.Area);
            Assert.AreEqual(1, p.NumInteriorRing);
            Assert.AreEqual(new BoundingBox(10, 10, 20, 20), p.GetBoundingBox());

            Polygon p2 = p.Clone() as Polygon;
            Assert.AreEqual(p, p2);
            Assert.AreNotSame(p, p2);
            p2.InteriorRings.RemoveAt(0);
            Assert.AreNotEqual(p, p2);
        }
开发者ID:pobingwanghai,项目名称:SharpMapV2,代码行数:42,代码来源:PolygonTests.cs

示例2: TestEquality

 public void TestEquality()
 {
     var p1 = new Polygon(new[]
     {
         new Vector2(10f, 10f),
         new Vector2(50f, 10f),
         new Vector2(50f, 50f),
         new Vector2(10f, 50f),
     });
     var p2 = new Polygon(new[]
     {
         new Vector2(10f, 10f),
         new Vector2(50f, 10f),
         new Vector2(50f, 50f),
         new Vector2(10f, 50f),
     });
     var p3 = new Polygon(new[]
     {
         new Vector2(50f, 10f),
         new Vector2(50f, 50f),
         new Vector2(10f, 50f),
         new Vector2(10f, 10f),
     });
     var p4 = new Polygon(new[]
     {
         new Vector2(50f, 10f),
         new Vector2(10f, 10f),
         new Vector2(10f, 50f),
         new Vector2(50f, 50f),
     });
     var p5 = new Polygon(new[]
     {
         new Vector2(50f, 10f),
         new Vector2(10f, 10f),
         new Vector2(10f, 50f),
     });
     var p6 = new Polygon(new[]
     {
         new Vector2(10f, 10f),
         new Vector2(50f, 10f),
         new Vector2(50f, 50f),
         new Vector2(10f, 50f),
         new Vector2(30f, 30f),
     });
     var p7 = new Polygon(new[]
     {
         new Vector2(10f, 10f),
         new Vector2(50f, 10f),
         new Vector2(50f, 50f),
         new Vector2(30f, 30f),
         new Vector2(10f, 50f),
     });
     Assert.IsTrue(p1.Equals(p2));
     Assert.IsTrue(p2.Equals(p1));
     Assert.IsTrue(p1.Equals(p3));
     Assert.IsTrue(p3.Equals(p1));
     Assert.IsTrue(p1.Equals(p4));
     Assert.IsTrue(p4.Equals(p1));
     Assert.IsFalse(p4.Equals(p5));
     Assert.IsFalse(p5.Equals(p4));
     Assert.IsFalse(p7.Equals(p6));
     Assert.IsFalse(p6.Equals(p7));
 }
开发者ID:vvnurmi,项目名称:assaultwing,代码行数:63,代码来源:PolygonTest.cs


注:本文中的Polygon.Equals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。