Esempio n. 1
0
        public void TestMeshSize()
        {
            var theMesh = new GlobalMesh(25000);
            var n       = theMesh.MeshSize;
            var c       = theMesh.GlobalCount;

            Assert.IsTrue(n > 0);
            Assert.IsTrue(c > 0);
        }
Esempio n. 2
0
        public void TestAllCenters()
        {
            var theMesh = new GlobalMesh(25000);

            for (long mesh = 0; mesh < theMesh.Count; mesh++)
            {
                var center = theMesh.CenterOf(mesh);
                var verify = theMesh.MeshNumber(center);
                Assert.AreEqual(mesh, verify);
            }
        }
Esempio n. 3
0
        public void TestBoundingBox()
        {
            var theMesh = new GlobalMesh(1000);
            var nr      = theMesh.MeshNumber(Constants.MyHome);
            var ll      = theMesh.LowerLeft(nr);
            var lr      = theMesh.LowerRight(nr);
            var ul      = theMesh.UpperLeft(nr);
            var ur      = theMesh.UpperRight(nr);

            Assert.AreEqual(ll.X, ul.X);
            Assert.AreEqual(lr.X, ur.X);
            Assert.AreEqual(ll.Y, lr.Y);
            Assert.AreEqual(ul.Y, ur.Y);
        }
Esempio n. 4
0
        public void TestNeighborHood()
        {
            var theMesh = new GlobalMesh(1000);
            var nr      = theMesh.MeshNumber(Constants.MyHome);
            var n0      = theMesh.Neighborhood(nr, 0);

            Assert.AreEqual(n0.Count, 1);
            Assert.AreEqual(n0[0], nr);
            var n1 = theMesh.Neighborhood(nr, 1);

            Assert.AreEqual(n1.Count, 8);
            var n2 = theMesh.Neighborhood(nr, 2);

            Assert.AreEqual(n2.Count, 16);
            var n3 = theMesh.Neighborhood(nr, 3);

            Assert.AreEqual(n3.Count, 24);
        }
        public void TestNeighborHood()
        {
            var theMesh = new GlobalMesh(1000);
            var nr      = theMesh.MeshNumber(Constants.MyHome);
            var n0      = theMesh.Neighborhood(nr, 0);

            Assert.IsTrue(n0.Count == 1);
            Assert.AreEqual(nr, n0[0]);
            var n1 = theMesh.Neighborhood(nr, 1);

            Assert.AreEqual(8, n1.Count);
            var n2 = theMesh.Neighborhood(nr, 2);

            Assert.AreEqual(16, n2.Count);
            var n3 = theMesh.Neighborhood(nr, 3);

            Assert.AreEqual(24, n3.Count);
        }
Esempio n. 6
0
        public void TestCorners()
        {
            var lon   = -54.45576937839619;
            var lat   = -34.6821341916981;
            var point = new GlobalCoordinates(lat, lon);

            var meshsize = 500;
            var mesh     = new GlobalMesh(meshsize);

            var meshnumber = mesh.MeshNumber(point);
            var utmOrig    = mesh.Projection.ToEuclidian(point);
            var utmCenter  = mesh.CenterOf(meshnumber);
            var coord2     = utmCenter.Projection.FromEuclidian(utmCenter);
            var dist       = mesh.Projection.EuclidianDistance(utmOrig, utmCenter);
            var maxdist    = Math.Sqrt(2.0) * meshsize / 2.0;

            Assert.IsTrue(dist <= maxdist);
        }
Esempio n. 7
0
 private void LoadMesh()
 {
     if (_Meshes.ContainsKey(fileName))
     {
         GlobalMesh globalMesh = _Meshes[fileName];
         this.Mesh = globalMesh.Mesh;
         globalMesh.ReferenceCount = globalMesh.ReferenceCount + 1;
         _Meshes[fileName]         = globalMesh;
     }
     else
     {
         this.Mesh = new XMesh(fileName);
         GlobalMesh globalMesh = new GlobalMesh();
         globalMesh.Mesh           = this.Mesh as XMesh;
         globalMesh.ReferenceCount = 1;
         _Meshes.Add(fileName, globalMesh);
     }
 }
Esempio n. 8
0
 /// <summary>
 /// Clean up.
 /// </summary>
 public override void Dispose()
 {
     if (_Meshes.ContainsKey(fileName))
     {
         GlobalMesh globalMesh = _Meshes[fileName];
         globalMesh.ReferenceCount--;
         if (globalMesh.ReferenceCount == 0)
         {
             globalMesh.Mesh.Dispose();
             globalMesh.Mesh = null;
             _Meshes.Remove(fileName);
         }
         else
         {
             _Meshes[fileName] = globalMesh;
         }
     }
 }
Esempio n. 9
0
 private void LoadMesh(string filename)
 {
     this.fileName = filename;
     if (_Meshes.ContainsKey(fileName))
     {
         GlobalMesh globalMesh = _Meshes[fileName];
         this.Mesh = globalMesh.Mesh;
         globalMesh.ReferenceCount = globalMesh.ReferenceCount + 1;
         _Meshes[fileName]         = globalMesh;
     }
     else
     {
         XMesh xMesh = new XMesh(fileName);
         if (Utility.MediaExists("ads/ad2.jpg"))
         {
             xMesh.ReplaceTexture("ad2.jpg", "ads/ad2.jpg", true);
         }
         this.Mesh = xMesh;
         GlobalMesh globalMesh = new GlobalMesh();
         globalMesh.Mesh           = this.Mesh as XMesh;
         globalMesh.ReferenceCount = 1;
         _Meshes.Add(fileName, globalMesh);
     }
 }