Skip to content

Commit

Permalink
Merge pull request #1824 from abwood/terrainProviderVersions
Browse files Browse the repository at this point in the history
Simple change to support any quantized-mesh-1.X version.
  • Loading branch information
kring committed Jun 11, 2014
2 parents 94cd80c + 8c9bd93 commit 64df948
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Source/Core/CesiumTerrainProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ define([
isBigEndian : false
};
that._hasWaterMask = true;
} else if (data.format === 'quantized-mesh-1.0') {
} else if (data.format.indexOf('quantized-mesh-1.') === 0) {
that._hasWaterMask = false;
} else {
message = 'The tile format "' + data.format + '" is invalid or not supported.';
Expand Down
50 changes: 50 additions & 0 deletions Specs/Core/CesiumTerrainProviderSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ defineSuite([
return returnTileJson('Data/CesiumTerrainTileJson/QuantizedMesh.tile.json');
}

function returnQuantizedMesh20TileJson() {
return returnTileJson('Data/CesiumTerrainTileJson/QuantizedMesh2.0.tile.json');
}

function returnQuantizedMesh11TileJson() {
return returnTileJson('Data/CesiumTerrainTileJson/QuantizedMesh1.1.tile.json');
}

it('conforms to TerrainProvider interface', function() {
expect(CesiumTerrainProvider).toConformToInterface(TerrainProvider);
});
Expand Down Expand Up @@ -188,6 +196,48 @@ defineSuite([
});
});

it('raises an error if layer.json does not specify quantized-mesh 1.x format', function() {
returnTileJson('Data/CesiumTerrainTileJson/QuantizedMesh2.0.tile.json');

var provider = new CesiumTerrainProvider({
url : 'made/up/url'
});

var error;
provider.errorEvent.addEventListener(function(e) {
error = e;
});

waitsFor(function() {
return defined(error);
}, 'error to be raised');

runs(function() {
expect(error.message).toContain('invalid or not supported');
});
});

it('supports quantized-mesh1.x minor versions', function() {
returnTileJson('Data/CesiumTerrainTileJson/QuantizedMesh1.1.tile.json');

var provider = new CesiumTerrainProvider({
url : 'made/up/url'
});

var error;
provider.errorEvent.addEventListener(function(e) {
error = e;
});

waitsFor(function() {
return provider.ready;
});

runs(function() {
expect(error).not.toBeDefined();
});
});

it('raises an error if layer.json does not specify a tiles property', function() {
returnTileJson('Data/CesiumTerrainTileJson/NoTiles.tile.json');

Expand Down
27 changes: 27 additions & 0 deletions Specs/Data/CesiumTerrainTileJson/QuantizedMesh1.1.tile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"tilejson": "2.1.0",
"format" : "quantized-mesh-1.1",
"version" : "1.0.0",
"scheme" : "tms",
"tiles" : [
"{z}/{x}/{y}.terrain?v={version}"
],
"available" : [
[
{
"startX" : 0,
"startY" : 0,
"endX" : 1,
"endY" : 0
}
],
[
{
"startX" : 0,
"startY" : 0,
"endX" : 3,
"endY" : 1
}
]
]
}
27 changes: 27 additions & 0 deletions Specs/Data/CesiumTerrainTileJson/QuantizedMesh2.0.tile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"tilejson": "2.1.0",
"format" : "quantized-mesh-2.0",
"version" : "1.0.0",
"scheme" : "tms",
"tiles" : [
"{z}/{x}/{y}.terrain?v={version}"
],
"available" : [
[
{
"startX" : 0,
"startY" : 0,
"endX" : 1,
"endY" : 0
}
],
[
{
"startX" : 0,
"startY" : 0,
"endX" : 3,
"endY" : 1
}
]
]
}

0 comments on commit 64df948

Please sign in to comment.