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
zcmb_gTZ|i58D1(Pq(XRTMGFEEGg8YYc+K1|8+PrD*Q;*WOR{#hg4Jp?wvX*8p0PU~
zZ})<^RBGU*s*rf2LgE1xBt%~*52c9>v<goIMTMvjNC?3LDne9>L>~G7Gq>ZhW7w)I
zS$pRE_wT=)GgFo7&WGma<{tXw+*}v_;~zesaCV(r+~fDN+#0d`zDFuYT>?AYrM}&+
z+isHs(uU>Re!q_UvYyj)UeI(|(nLk&RU~)ZW<)n~f+otkq$`51shS}Gz3H^qS3y?T
zA2i#QHMD#D_}tvLK89YP4_2*4dcBU<;}%c2mGHs5(&^d0-En)Sfcw>cqd~k~n>@!Y
zf_Kq_x#D@&kr`}oS+08IlkG;MM|^IP&vLbn)9tv#^@F$+K~!<G?*dr`x=+L9c1uMm
z6fXOojiHKqmUFB_j5()@s-z1dM5ge(ZYWtbC(FFS8;T(dI&T<qR?aDkA?TtZtBS^p
zf)0T@whQ75iM(LwvJ8qB7<pcm6%Do$1)9POio8F_CRl8BJjZIke<TF)gMot2sS2-%
zvaAXcEObf9@;ObG3{3+(G(!;uMZzsu=&EjLf+4A*h*c1R0W?XJbX5^FL6SsZ%r5Xb
zT`+iA5_m&}1PKzr!Rp`zNzjxrKrUH+t+l@TzDq-trvV~OtBrDTWn*RMfz^S%6U4^v
z4<KijYdg>{P`6OE_}rtlc)}eJuLs*uy+V!$bzP4*{kCs++cv4Mw7V^fTWmm*36eSu
zyA4H%3Yx?vp5=Eutb5`<V}Z3^>9E`JeByDy5OfA@o~rFy-jRuIhCS2wY!C`v-ym+&
zZ$V*eMpF0|c2A&yL+^tnb{W+dv=u&%_gUPJpq{lk(SO*EkzqmA(Xiz;u{kB#P(`#D
zxXf7MlXjn}UK9k#B5Og_)TtVo0Wwo#;32C~mSlv59Qwq?>`_#TrSkf<O>?JGL{Dol
zT_6!KCj><kG$|(;iUjoxQ$mAkR&$~*Y1ki{kd@)Tswp{M(shN`M4gsQqWxNr;5_EO
z{M3#)jw@qxKg&UhHAz@tP;JDsp>WWdI%!x?R0~ay9O3hU)$UV9u5LFP{T|M6Xf13}
z`h!vgb-kAD+Ahpss15}NWUotV{kDZc@i`F~gC8;j7(S`BT>IHR=t|ZmPwU4ay;fjv
z6IQSZKDd^Htl<V$x9z}WKR~{{6Bx3A|G+ZlJ+zJwv$)##1BF+%%j=c(?JeM&dPZcq
zt?ix7l?|4j%*`xkURtRXpTd(Ukx#}5#N~8w?#lz36BiyRqFb;qzhYkNGNB}UAZ3A*
zcuW8~fYjt~fhDkOmKmXi;nRXc*CTjpaMXstA>iRMfim3qAI7KIdcfYeZFq|ExEH03
zf&z1?=~)iNC0qw7W;3<NS!R`v=Q>Ot%XI14MVH<1NXJV>!?T(Wv`)EY)v<lJwX#{h
zwgr4JD1CAm@9zft*oHmJ>9%2vLMreHIxomkST|+dplJ${7lKHWNB!?nTh#r~8eke+
z0VGA0;E;?bX3~?WFx`)^l}t+TecBKkpvR%}V`ku#`M}Hw&~+4<ufd@Zz!JA7jWd3l
zOcY$a;zU6RlPO!|rsZyti_-`Jb}c9f0v$}PMM~m$g9}%WIF{?%H9#uvLXeF|5|acK
zCpdOu8&93hu(=op4d+v$FPV$x=Jsl7V|TsuG#-kf=dmM@UsV~C45vlRJI&U(L~LMv
zYqzvhE>(6`w#qP;N@y?!WroRkgdxAzd4|;RqA<<yc#v0iwl9~8bohZJGp!?B5N4#r
zb2}nn*eVuC*shR)q;WyOhv7>zM_j9lH;z5g5RH8h=(~0UI+qgrW}K=xX~1Dl<Y^*v
z$Q7g_iZaYh_=xmLBqqT@J|=Dk14@bGP9UId0doXjYA^_dCzub>F%yi7LE%oN@J09O
z{M&!~-sp|*J~@2h+}#^HFBOLPZZi7w_0hjR{rl1DKUyxNX;(k`{n7Eg7f1KMU7Vn?
zI^P1F?|k;|jm=OeE0?DI{E7F5zkH%U{Oy^`%V`>`^L5ZEX71j&8tP=_(zHij{nF^|
z-~H!}pWgp^eirRlpz|Y)&fE9?zWi?WR^isK<x!f(`jV!7{<+1`z3Q#eFZ`DZtsmZB
zzWuYS!|VRbH`92gX{^rE&;ZZEV?Vf_f9Uz*C@nY37gp}zk<a9BzV_k#ThD)r=AHE=
zO=EF64ej4&{*s4UD&+6|WSEwl<qIqK*grlu{OXJ6^8XyXyNr0UzNBev-cLh&_K$al
zZ$7Cn|LKKug|yr(Us$<v_cu2mJ$q%CU;Qifll3J{V{7*`wD*ip4By<(4?q5gck*eu
zS-!AxFaP-LaI3$Z|K{x>^^^4_O=J7^G_=ciDx+^){LTpGOCc>c%NJJe)xpK#qpwIe
z&$Q?Bn0MBfG>x5Er=hXEl9rq03rm9;nTPqg1oM;n$?8ng*qWb3gZYw&xwHhcj_PD<
zFim6go~E((U=HSCe#SakxipQ<QJTi;gn6BZIllyRp8CnkrD-f?X&QVNsM+|gnQ7V0
zRyWgVcP#(n*@xphcIJT8q>N=oH;!qv;LHWe0elaD&v=2%L3kFANl^WuF1)(|Ej;=&
zj^#_4@$-9}Dg!lj2bg3?AMe1Caw-a>R76_Gu7hRUoyXPr%n59fnw$Zq%+jR2%moZh
zo=@P&!aL4+R1^bLDuN`)=MImKDIq|Is$(xFpeuS^0k&p4{sc)m({TVd=mf^WgEE#1
zGtNnbFO4g{TcKy;$@)KVkuq^C!NNW!^HG`+1-p@%he+1Ej_a>kH7tdtr40SfbUu+?
zh<&3z)jI8t2SHP0`CK-W{3x=R56h|A@cK55OUNNtP*>r_aUH&qzy}on2>9W>7h^>w
zA@#vZ5(XBh#CAl#09utmYXk`(QI8O;bV^5rmO+Bj0$U*H@Dx{T$BqeKt2V$Oyp*m6
zpHSv;x7T-9ZRk|Iz?X{I5K2^Y_F)Pi7F*^EOA$_C?TwK_gOu|^ghh;0qAG$X5cZl?
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