From 40c8e4da5529712ae083d99e2e1881817edf30a9 Mon Sep 17 00:00:00 2001 From: Sven Schneider <sven.schneider@hft-stuttgart.de> Date: Thu, 31 Mar 2022 19:51:19 +0200 Subject: [PATCH] added a small test obj in HFT innnenhof --- public/Testgebiete.js | 74 ++++++++++++++---- public/buildingTiles/HFT_testbld/b3dms/R.b3dm | Bin 0 -> 6146 bytes public/buildingTiles/HFT_testbld/tileset.json | 48 ++++++++++++ 3 files changed, 106 insertions(+), 16 deletions(-) create mode 100644 public/buildingTiles/HFT_testbld/b3dms/R.b3dm create mode 100644 public/buildingTiles/HFT_testbld/tileset.json diff --git a/public/Testgebiete.js b/public/Testgebiete.js index 8edf424..4410b42 100644 --- a/public/Testgebiete.js +++ b/public/Testgebiete.js @@ -51,17 +51,59 @@ var zoomAll = function (tileset) { + +// var HFT_testbld = viewer.scene.primitives.add( +// new Cesium.Cesium3DTileset({ +// url: Cesium.IonResource.fromAssetId(905706), +// }) +// ); + +var HFT_testbld = viewer.scene.primitives.add( + new Cesium.Cesium3DTileset({ + url: "buildingTiles/HFT_testbld/tileset.json", + show: true, + }) + ); + + + HFT_testbld.readyPromise.then(function (HFT_testbld) { + var height =55; + var cartographic = Cesium.Cartographic.fromCartesian( + HFT_testbld.boundingSphere.center + ); + var surface = Cesium.Cartesian3.fromRadians( + cartographic.longitude, + cartographic.latitude, + 0.0 + ); + var offset = Cesium.Cartesian3.fromRadians( + cartographic.longitude, + cartographic.latitude, + height + ); + var translation = Cesium.Cartesian3.subtract( + offset, + surface, + new Cesium.Cartesian3() + ); + // now shift / translate the tileset by the translation vector defined above + HFT_testbld.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + + return zoomAll(HFT_testbld); // zoom or rather go to the translated tileset +}); + + var load3DTiles = function () { - tilesetLOD1 = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ + tilesetLOD3 = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: "https://steinbeis-3dps.eu/3DGeoVolumes/collections/Stuttgart/HFTBuildings_3DModel_noTexture/3dtiles/tileset.json", //Cesium.IonResource.fromAssetId(656401), })); - Cesium.when(tilesetLOD1.readyPromise).then(function (tilesetLOD1) { - viewer.flyTo(tilesetLOD1) - tilesetLOD1.style = new Cesium.Cesium3DTileStyle({ + Cesium.when(tilesetLOD3.readyPromise).then(function (tilesetLOD3) { + viewer.flyTo(tilesetLOD3) + tilesetLOD3.style = new Cesium.Cesium3DTileStyle({ color: { conditions: [ ["${featureType} === 'Window'", "color('blue')"], @@ -73,18 +115,18 @@ var zoomAll = function (tileset) { }, show: true }); - // tilesetLOD1.style = new Cesium.Cesium3DTileStyle({ + // tilesetLOD3.style = new Cesium.Cesium3DTileStyle({ // color: "color('BLACK', 0.3)", // show: true // }); - var heightOffset = 50.0; - var boundingSphere = tilesetLOD1.boundingSphere; + var heightOffset = 49.0; + var boundingSphere = tilesetLOD3.boundingSphere; var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center); var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0); var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset); var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3()); - tilesetLOD1.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + tilesetLOD3.modelMatrix = Cesium.Matrix4.fromTranslation(translation); }) } @@ -95,7 +137,7 @@ var zoomAll = function (tileset) { //////// important value. to find the correct value trail and error is needed for a perfect fit - const BUILDIG_TILESET_HEIGHT_OFFSET = 54; + const BUILDIG_TILESET_HEIGHT_OFFSET = 50; tileset.readyPromise.then(function (tileset) { var height = BUILDIG_TILESET_HEIGHT_OFFSET; @@ -211,9 +253,9 @@ var toggleBuildingTiles = function () { } else { tileset.show = true - if (tilesetLOD1.show === true){ + if (tilesetLOD3.show === true){ $('#prettyBuildingsCheckbox').prop('checked', false); - tilesetLOD1.show = false + tilesetLOD3.show = false } } } @@ -246,12 +288,12 @@ var toggleFellbachTexturedTiles = function () { } var togglePrettyBuildingTiles = function () { - // tilesetLOD1.show = tilesetLOD1.show ? false : true; - if (tilesetLOD1.show === true) { - tilesetLOD1.show = false + // tilesetLOD3.show = tilesetLOD3.show ? false : true; + if (tilesetLOD3.show === true) { + tilesetLOD3.show = false } else { - tilesetLOD1.show = true + tilesetLOD3.show = true if (tileset.show === true){ $('#simpleBuildingsCheckbox').prop('checked', false); tileset.show = false @@ -371,7 +413,7 @@ var togglePrettyBuildingTiles = function () { Cesium.Camera.DEFAULT_VIEW_RECTANGLE = extent; Cesium.Camera.DEFAULT_VIEW_FACTOR = 0; - viewer.flyTo(tilesetLOD1); + viewer.flyTo(tilesetLOD3); diff --git a/public/buildingTiles/HFT_testbld/b3dms/R.b3dm b/public/buildingTiles/HFT_testbld/b3dms/R.b3dm new file mode 100644 index 0000000000000000000000000000000000000000..61d93e1740e73572f822a6286769815331c3e767 GIT binary patch literal 6146 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 YD7{G5$|g&+PIGNFi(v+-2y74j3zE@I#{d8T literal 0 HcmV?d00001 diff --git a/public/buildingTiles/HFT_testbld/tileset.json b/public/buildingTiles/HFT_testbld/tileset.json new file mode 100644 index 0000000..a14f1b0 --- /dev/null +++ b/public/buildingTiles/HFT_testbld/tileset.json @@ -0,0 +1,48 @@ +{ + "asset": { + "version": "0.0" + }, + "geometricError": 16.611315407063895, + "root": { + "refine": "ADD", + "boundingVolume": { + "region": [ + 0.16008864671949422, + 0.8513738167393398, + 0.1600914408830295, + 0.851375630141581, + 251.0, + 253.0 + ] + }, + "content": { + "uri": "b3dms/R.b3dm", + "boundingVolume": { + "region": [ + 0.16008864671949422, + 0.8513738167393398, + 0.1600914408830295, + 0.851375630141581, + 251.0, + 253.0 + ] + } + }, + "geometricError": 0.0 + }, + "properties": { + "FeatureType": {}, + "gmlID": { + "maximum": 1, + "minimum": 1 + }, + "Longitude": { + "maximum": 9.172563898765713, + "minimum": 9.172563898765713 + }, + "Latitude": { + "maximum": 48.78023038740355, + "minimum": 48.78023038740355 + } + } +} \ No newline at end of file -- GitLab