Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terrain and Imagery support for Google Earth Enterprise #5189

Merged
merged 63 commits into from
Apr 28, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
960945f
Added Imagery provider for Google Earth Enterprise servers.
Mar 27, 2017
99839b7
Google Earth Enterprise. Initial submit of terrain.
Mar 27, 2017
dd7e056
More work on terrain. Heights are off but lat/lon positions seem at l…
Mar 27, 2017
8787f66
Terrain and Imagery requests now return undefined if we know there is…
Mar 28, 2017
c36a004
Fixed terrain issue with incorrect height and added some terrain data…
Mar 29, 2017
d560680
Got terrain mostly loading.
Mar 30, 2017
6d35ced
Added skirts.
Mar 30, 2017
3eb039e
Got upsampling mostly working.
Mar 31, 2017
ef659d1
Tweak.
Mar 31, 2017
99f81a3
Fixed bit checks.
Mar 31, 2017
e9f402e
More cleanup for terrain. Should even work if a child is loaded befor…
Mar 31, 2017
c9c1d20
Added back cnodeVersion.
Mar 31, 2017
842d9c4
Added first try at removing dups along quad borders. Missing triangle…
Apr 1, 2017
e4648da
Fixed holes in mesh and unit tests. Still need to remove duplicate co…
Apr 1, 2017
89bd3df
Removed duplicate vertices from skirts.
Apr 1, 2017
a5119c4
Fixed jshint.
Apr 1, 2017
917f087
Fixed tests.
Apr 1, 2017
a8b312a
Removed credit and added sandcastle example.
Apr 1, 2017
d81c81e
Split apart Terrain and Imagery providers.
Apr 3, 2017
c72d320
Added tests for GoogleEarthEnterpriseMetadata and fixed an issue or 2…
Apr 3, 2017
06b5ab4
Added tests for GoogleEarthEnterpriseMetadata.
Apr 4, 2017
999155c
Added GEE terrain tests.
Apr 4, 2017
c4498fd
More GEE test fixes. Almost done imagery provider tests.
Apr 4, 2017
0b5e4fb
Added imagery tests and fixed a few small issues.
Apr 5, 2017
7bdbaa7
Added tests for interpolateHeight.
Apr 5, 2017
470b028
Fixed interpolation tests.
Apr 6, 2017
ce8c212
Cleanup.
Apr 6, 2017
f60b1af
Got terrain mostly working well.
Apr 6, 2017
5f563bb
Added handling for throttling requests even if promise was returned.
Apr 7, 2017
1b3da6a
Cleanup.
Apr 7, 2017
63bda07
Updated sandcastle example and fixed GEE terrain with Mercator imagery.
Apr 7, 2017
309eb11
Fixed skirts.
Apr 7, 2017
09f7543
Fixed issue where 2 skirt triangles weren't being drawn.
Apr 7, 2017
44aed82
Merge remote-tracking branch 'origin' into gee-terrain
Apr 7, 2017
22e8fda
Tweak.
Apr 7, 2017
541e2db
Updated CHANGES.md
Apr 7, 2017
26722e7
Tweaks from PR comments.
Apr 10, 2017
195ced5
jshint fix.
Apr 10, 2017
679c435
More tweaks from PR comments.
Apr 10, 2017
812bb87
Updated test data.
Apr 10, 2017
4bff168
Added code to cleanup terrain cache for unloaded tiles.
Apr 10, 2017
2d304a0
Sped up GEE by throttling metadata requests and offloading terrain de…
Apr 11, 2017
d212c9b
Fixed tests.
Apr 11, 2017
209951a
Moved metadata decoding to WebWorker.
Apr 11, 2017
a48edc8
Merged in master.
Apr 11, 2017
ba52867
Rearchitected terrain to be a little cleaner.
Apr 12, 2017
698964e
Imagery cleanup.
Apr 12, 2017
c274947
Fixed tests.
Apr 12, 2017
057dff5
Fixed more tests.
Apr 12, 2017
14ba59d
Tweak.
Apr 12, 2017
dc737af
Auto format and jshint fix.
Apr 12, 2017
82f3ed0
Removed unneeded promise return value.
Apr 12, 2017
3675c14
Cleanup.
Apr 12, 2017
b10c0d1
Cleanup.
Apr 12, 2017
6b75e4d
Cleanup.
Apr 12, 2017
498a044
Cleanup
Apr 20, 2017
f40a74c
Fixed issue where we were returning the ellipsoid after a terrain til…
Apr 20, 2017
afd66e8
Fixed jshint and changed error checking to use Check class.
Apr 24, 2017
08c6b42
Cleanup from PR comments.
Apr 24, 2017
0740d61
Fixed requesting some non-existant tiles.
Apr 24, 2017
79347a3
Fixed double parsing of terrain buffer.
Apr 24, 2017
768d770
Merge remote-tracking branch 'origin/master' into gee-terrain
mramato Apr 28, 2017
30afaff
Remove unnecessary if check.
mramato Apr 28, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions Apps/Sandcastle/gallery/Google Earth Enterprise.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta name="description" content="Add imagery from a Web Map Service (WMS) server.">
<meta name="cesium-sandcastle-labels" content="Beginner">
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="text/javascript" src="../../../ThirdParty/requirejs-2.1.20/require.js"></script>
<script type="text/javascript">
require.config({
baseUrl : '../../../Source',
waitSeconds : 60
});
</script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
function startup(Cesium) {
'use strict';
//Sandcastle_Begin
var geeMetadata = new Cesium.GoogleEarthEnterpriseMetadata({
url : 'http://www.earthenterprise.org/3d',
proxy : new Cesium.DefaultProxy('/proxy/')
});

var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProvider : new Cesium.GoogleEarthEnterpriseImageryProvider({
metadata : geeMetadata
}),
terrainProvider : new Cesium.GoogleEarthEnterpriseTerrainProvider({
metadata : geeMetadata
}),
baseLayerPicker : false
});

// Start off looking at San Francisco.
viewer.camera.setView({
destination: Cesium.Rectangle.fromDegrees(-123.0, 36.0, -121.7, 39.0)
});
//Sandcastle_End
Sandcastle.finishedLoading();
}
if (typeof Cesium !== "undefined") {
startup(Cesium);
} else if (typeof require === "function") {
require(["Cesium"], startup);
}
</script>
</body>
</html>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Change Log

* Breaking changes
* Removed left, right, bottom and top properties from `OrthographicFrustum`. Use `OrthographicOffCenterFrustum` instead. [#5109](https://github.com/AnalyticalGraphicsInc/cesium/issues/5109)
* Added `GoogleEarthEnterpriseTerrainProvider` and `GoogleEarthEnterpriseImageryProvider` to read data from Google Earth Enterprise servers. `GoogleEarthEnterpriseMeta` was also added so providers can share metadata requests.
* Added support for dashed polylines. Added `PolylineDashMaterialProperty` and CZML `polylineDash` properties - `color`, `gapColor`, `dashLength`, `dashPattern` - and similar properties to Cesium's `Material`. [#5159](https://github.com/AnalyticalGraphicsInc/cesium/pull/5159)
* Added `disableDepthTestDistance` to billboards, points and labels. This sets the distance to the camera where the depth test will be disabled. Setting it to zero (the default) will alwasy enable the depth test. Setting it to `Number.POSITVE_INFINITY` will never enabled the depth test. Also added `scene.minimumDisableDepthTestDistance` to change the default value from zero. [#5166](https://github.com/AnalyticalGraphicsInc/cesium/pull/5166)
* Added a `depthFailMaterial` property to line entities, which is the material used to render the line when it fails the depth test. [#5160](https://github.com/AnalyticalGraphicsInc/cesium/pull/5160)
Expand Down
57 changes: 57 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,63 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

### pako

https://github.com/nodeca/pako

>(The MIT License)
>
>Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn
>
>Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
>
>The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
>
>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

### protobuf

https://github.com/dcodeIO/ProtoBuf.js

>Copyright (c) 2016, Daniel Wirtz All rights reserved.
>
>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

>* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
>* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
>* Neither the name of its author, nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Tests
=====

Expand Down
Loading