Exemplo n.º 1
0
    public void MapDisplayData_UpdateLODUpdatesMesh()
    {
        MapDisplayData dispData = new MapDisplayData(data);

        dispData.SetStatus(MapDisplayStatus.VISIBLE); dispData.UpdateLOD(2);
        Assert.True(dispData.GetMesh() == dispData.Mesh, "Mesh was not updated!");
    }
Exemplo n.º 2
0
    public void SatelliteImageCorrectlySlicedAndFlippedToForBottomRightSlice()
    {
        MapDisplayData dispData = new MapDisplayData();

        data.SetX(5);
        data.SetY(5);
        dispData.SetMapData(data);

        SatelliteImage image = new SatelliteImage();

        Color[]   textureMap = new Color[20 * 20];
        Texture2D texture    = new Texture2D(20, 20);

        texture.SetPixels(textureMap);
        image.texture = texture;
        image.width   = 10;
        image.height  = 10;

        texture.SetPixel(10, 9, Color.red);
        texture.SetPixel(19, 0, Color.blue);

        SatelliteImageService.satelliteImage    = image;
        SatelliteImageService.useSatelliteImage = true;

        //Color[] colorMap = dispData.GenerateTexture();
        Texture2D textureSlice = dispData.GenerateTexture(0);

        Assert.True(textureSlice.GetPixel(0, 0) == Color.red);
        Assert.True(textureSlice.GetPixel(9, 9) == Color.blue);

        //Assert.True (colorMap [0] == Color.red);
        //Assert.True (colorMap [99] == Color.blue);
    }
Exemplo n.º 3
0
    public void MapDisplayData_SetMapDataInitializesMesh()
    {
        MapDisplayData dispData = new MapDisplayData();

        Assert.True(dispData.GetMesh() == null, "There was a mesh before there was any data!");
        dispData.SetStatus(MapDisplayStatus.VISIBLE); dispData.SetMapData(data);
        Assert.True(dispData.GetMesh() == dispData.lowLodMesh, "Mesh was not initialized!");
    }
Exemplo n.º 4
0
    public void MapDisplayData_ReturnsCorrectMeshDependingOnStatus()
    {
        MapDisplayData dispData = new MapDisplayData(data);

        dispData.UpdateLOD(2); dispData.SetStatus(MapDisplayStatus.VISIBLE);
        Assert.True(dispData.GetMesh() == dispData.Mesh, "Mesh was not updated!");
        dispData.SetStatus(MapDisplayStatus.HIDDEN);
        Assert.True(dispData.GetMesh() == dispData.lowLodMesh, "Mesh was not updated!");
    }
Exemplo n.º 5
0
 public void SetMapData(DisplayReadySlice mapData)
 {
     if (this.displayData == null)
     {
         this.displayData = new MapDisplayData(mapData);
     }
     else
     {
         this.displayData.SetMapData(mapData);
     }
 }
Exemplo n.º 6
0
    public void MapDisplayData_FixesLeftRightNormalEdgeCorrectly()
    {
        Vector3[] n1 = new Vector3[] {
            new Vector3(0, 1, 0), new Vector3(0, 2, 0),
            new Vector3(0, 1, 0), new Vector3(0, 0, 1),
        };
        Vector3[] n2 = new Vector3[] {
            new Vector3(0, 3, 0), new Vector3(0, 1, 0), new Vector3(0, 1, 0),
            new Vector3(0, 1, 0), new Vector3(0, 1, 0), new Vector3(0, 1, 0),
            new Vector3(0, 0, 2), new Vector3(0, 1, 0), new Vector3(0, 1, 0),
        };
        MapDisplayData.FixNormals(n1, 2, 2, n2, 3, 3, NeighborType.LeftRight);
        Action <Vector3, float, float, float> checkVector = (v3, x, y, z) => {
            Assert.True(Mathf.Approximately(v3.x, x), "Incorrect X, should be: " + x + ", was: " + v3.x);
            Assert.True(Mathf.Approximately(v3.y, y), "Incorrect Y, should be: " + y + ", was: " + v3.y);
            Assert.True(Mathf.Approximately(v3.z, z), "Incorrect Z, should be: " + z + ", was: " + v3.z);
        };

        checkVector(n1[1], 0, 1, 0); checkVector(n1[3], 0, Mathf.Sqrt(2) / 2, Mathf.Sqrt(2) / 2);
        checkVector(n2[0], 0, 1, 0); checkVector(n2[3], 0, Mathf.Sqrt(2) / 2, Mathf.Sqrt(2) / 2);
    }