diff --git a/public/test.js b/public/test.js deleted file mode 100644 index 1ec686e54ad2a90f85fc08a63c3f2665b7afee02..0000000000000000000000000000000000000000 --- a/public/test.js +++ /dev/null @@ -1,139 +0,0 @@ -var conditions = [[true, true]]; -var url; -var position; -var model; - -var state = 0; - -function updateHideCondition(gmlId) { - conditions.unshift(['${gml_id} === "' + gmlId + '"', false]); -} - - -function tryGetMap() { - var vc_map = vcs.vcm.Framework.getInstance().getActiveMap(); - console.log(vc_map.getScene().canvas); - var cesiumMapLayer; - for (const map of vc_map.layerCollection) { - if (map.name === "3D-Objekt Ebene") { - cesiumMapLayer = map; - } - } - - var scene = vc_map.getScene(); - scene.pickTranslucentDepth = true; - vc_map.mapElement.addEventListener('click', function (e) { - console.log(e); - if (e.button === 0 && state === 0) { - const feature = scene.pick(new Cesium.Cartesian2(e.layerX, e.layerY)); - if (feature) { - updateHideCondition(feature.getProperty("gml_id")); - feature.tileset.style = new Cesium.Cesium3DTileStyle({ - show: { - conditions: conditions, - }, - }); - position = new Cesium.Cartesian2(e.layerX, e.layerY); - uploadModel(vc_map); - } - } - if (e.button === 0 && state === 1) { - state = 2; - } - if (e.button === 0 && state === 2) { - const feature = scene.pick(new Cesium.Cartesian2(e.layerX, e.layerY)); - if (feature) { - console.log(feature); - if (feature === model) { - openForm(); - } - } - } - vc_map.mapElement.addEventListener("mousemove", (e) => { - if (state === 1 && model !== undefined) { - position = new Cesium.Cartesian2(e.layerX, e.layerY); - var center = vc_map.getScene().pickPosition(position); - console.log("Picked position: " + center); - console.log("Converted: " + convert(center)); - model.position = center; - } - }); - - vc_map.pointerInteractionEvent.addEventListener(function (e) { - - - }); - - }); -} - -function convert(pos) { - let cart = Cesium.Cartographic.fromCartesian(pos); - //console.log("long: " + cart.longitude + ", lat: " + cart.latitude); - return Cesium.Cartesian3.fromDegrees(cart.longitude, cart.latitude, 0); - -} - -function toDegrees(cartesian3Pos) { - let pos = Cesium.Cartographic.fromCartesian(cartesian3Pos) - return [pos.longitude / Math.PI * 180, pos.latitude / Math.PI * 180, pos.altitude] -} - -// This function is called when the file is uploaded or dropped into the upload window -function uploadModel(vc_map) { - // Create an input element - var inputElement = document.createElement("input"); - - // Set its type to file - inputElement.type = "file"; - - // Set accept to the file types you want the user to select. - // Include both the file extension and the mime type - inputElement.accept = ".glb, .gltf"; - - // set onchange event to call callback when user has selected file - inputElement.addEventListener("change", function (e) { - var fileInput = e.target; - var file = fileInput.files[0]; - var reader = new FileReader(); - reader.onload = function (e) { - var content = e.target.result; - var blob = new Blob([content], { - type: "application/octet-stream", - }); - url = URL.createObjectURL(blob); - var center = vc_map.getScene().pickPosition(position); - console.log(center); - - // Add the model to the viewer - model = vc_map.getEntities().add({ - name: "gltf", - position: center, - model: { - uri: url, - show: true, - scale: 1.0, - }, - }); - - state = 1; - } - reader.readAsArrayBuffer(file); // glTF files are binary, so use readAsArrayBuffer instead of readAsText - console.log(e); - }); - - - // dispatch a click event to open the file dialog - inputElement.dispatchEvent(new MouseEvent("click")); -} - -setTimeout(tryGetMap, 1000); // Retry after 0.5 seconds - - -window.onclick = function (event) { - let modal = document.getElementById('loginPopup'); - if (event.target == modal) { - closeForm(); - } -} -