├── AHN └── DTM │ └── MOORDRECHT │ ├── m5_38an1.tif │ ├── m5_38an2.tif │ ├── m5_38az1.tif │ ├── m5_38az2.tif │ ├── convert.sh │ ├── mercator_m5_38an1.tif │ ├── mercator_m5_38an2.tif │ ├── mercator_m5_38az1.tif │ ├── mercator_m5_38az2.tif │ ├── tiles │ ├── 9 │ │ └── 262 │ │ │ ├── 342.terrain │ │ │ └── 342.obj │ ├── 10 │ │ └── 525 │ │ │ └── 685.terrain │ ├── 11 │ │ └── 1050 │ │ │ ├── 1370.terrain │ │ │ └── 1371.terrain │ ├── 12 │ │ ├── 2100 │ │ │ ├── 2741.terrain │ │ │ ├── 2742.terrain │ │ │ └── 2743.terrain │ │ └── 2101 │ │ │ ├── 2741.terrain │ │ │ ├── 2742.terrain │ │ │ ├── 2743.terrain │ │ │ └── 2741.obj │ ├── 13 │ │ ├── 4200 │ │ │ ├── 5483.terrain │ │ │ ├── 5484.terrain │ │ │ ├── 5485.terrain │ │ │ ├── 5486.terrain │ │ │ ├── 5487.terrain │ │ │ ├── 5487.obj │ │ │ ├── 5485.obj │ │ │ ├── 5484.obj │ │ │ └── 5486.obj │ │ ├── 4201 │ │ │ ├── 5483.terrain │ │ │ ├── 5484.terrain │ │ │ ├── 5485.terrain │ │ │ ├── 5486.terrain │ │ │ ├── 5487.terrain │ │ │ └── 5487.obj │ │ ├── 4202 │ │ │ ├── 5483.terrain │ │ │ ├── 5484.terrain │ │ │ ├── 5485.terrain │ │ │ ├── 5486.terrain │ │ │ ├── 5487.terrain │ │ │ ├── 5483.obj │ │ │ └── 5484.obj │ │ └── 4203 │ │ │ ├── 5483.terrain │ │ │ ├── 5484.terrain │ │ │ ├── 5485.terrain │ │ │ ├── 5486.terrain │ │ │ ├── 5487.terrain │ │ │ ├── 5484.obj │ │ │ ├── 5483.obj │ │ │ ├── 5487.obj │ │ │ └── 5485.obj │ └── 14 │ │ ├── 8400 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ ├── 8401 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ ├── 8402 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ ├── 8403 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ ├── 8404 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ ├── 8405 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ ├── 8406 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ │ └── 8407 │ │ ├── 10966.terrain │ │ ├── 10967.terrain │ │ ├── 10968.terrain │ │ ├── 10969.terrain │ │ ├── 10970.terrain │ │ ├── 10971.terrain │ │ ├── 10972.terrain │ │ ├── 10973.terrain │ │ └── 10974.terrain │ └── tiles.vrt ├── UnityViewer └── UnityQuantizedMeshViewer │ ├── ProjectSettings │ ├── ProjectVersion.txt │ ├── ClusterInputManager.asset │ ├── PresetManager.asset │ ├── EditorBuildSettings.asset │ ├── XRSettings.asset │ ├── TimeManager.asset │ ├── VFXManager.asset │ ├── AudioManager.asset │ ├── TagManager.asset │ ├── EditorSettings.asset │ ├── UnityConnectSettings.asset │ ├── DynamicsManager.asset │ ├── NavMeshAreas.asset │ ├── Physics2DSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ └── QualitySettings.asset │ ├── Assets │ ├── New Terrain.asset │ ├── Scenes │ │ ├── SampleScene.unity.meta │ │ └── SampleScene.unity │ ├── HeightMesh.meta │ ├── Scenes.meta │ ├── New Terrain.asset.meta │ ├── GM.cs.meta │ ├── JSON.cs.meta │ ├── TileCreator.cs.meta │ ├── TileGeoJSON.cs.meta │ ├── HeightRaycast.cs.meta │ ├── HeightMesh │ │ ├── QuantizedMeshCreator.cs.meta │ │ ├── QuantizedMeshStream.cs.meta │ │ ├── QuantizedMeshFormatDecoder.cs.meta │ │ ├── QuantizedMeshStream.cs │ │ ├── QuantizedMeshCreator.cs │ │ └── QuantizedMeshFormatDecoder.cs │ ├── HeightRaycast.cs │ ├── TileGeoJSON.cs │ ├── TileCreator.cs │ └── GM.cs │ └── Packages │ └── manifest.json ├── QuantizedLibrary ├── QuantizedMesh │ ├── bin │ │ └── Debug │ │ │ └── netcoreapp2.1 │ │ │ ├── QuantizedMesh.dll │ │ │ └── QuantizedMesh.deps.json │ ├── QuantizedMeshStream.cs │ └── QuantizedMeshFormatDecoder.cs └── TestQuantizedMesh │ ├── bin │ └── Debug │ │ └── netcoreapp2.1 │ │ ├── QuantizedMesh.dll │ │ ├── TestQuantizedMesh.dll │ │ ├── TestQuantizedMesh.runtimeconfig.json │ │ ├── TestQuantizedMesh.runtimeconfig.dev.json │ │ └── TestQuantizedMesh.deps.json │ └── Program.cs └── .gitignore /AHN/DTM/MOORDRECHT/m5_38an1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/m5_38an1.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/m5_38an2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/m5_38an2.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/m5_38az1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/m5_38az1.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/m5_38az2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/m5_38az2.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/convert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | for file in $(ls *.tif); do 3 | gdalwarp -t_srs EPSG:3857 $file mercator_$file; 4 | done -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/mercator_m5_38an1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/mercator_m5_38an1.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/mercator_m5_38an2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/mercator_m5_38an2.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/mercator_m5_38az1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/mercator_m5_38az1.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/mercator_m5_38az2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/mercator_m5_38az2.tif -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/10/525/685.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/10/525/685.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/9/262/342.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/9/262/342.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/11/1050/1370.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/11/1050/1370.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/11/1050/1371.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/11/1050/1371.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2100/2741.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/12/2100/2741.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2100/2742.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/12/2100/2742.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2100/2743.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/12/2100/2743.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2101/2741.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/12/2101/2741.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2101/2742.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/12/2101/2742.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2101/2743.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/12/2101/2743.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5483.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4200/5483.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5484.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4200/5484.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5485.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4200/5485.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5486.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4200/5486.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5487.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4200/5487.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4201/5483.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4201/5483.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4201/5484.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4201/5484.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4201/5485.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4201/5485.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4201/5486.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4201/5486.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4201/5487.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4201/5487.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5483.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4202/5483.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5484.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4202/5484.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5485.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4202/5485.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5486.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4202/5486.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5487.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4202/5487.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5483.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4203/5483.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5484.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4203/5484.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5485.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4203/5485.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5486.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4203/5486.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5487.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/13/4203/5487.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8400/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8400/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8401/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8401/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8402/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8402/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8403/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8403/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8404/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8404/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8405/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8405/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8406/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8406/10974.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10966.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10966.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10967.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10967.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10968.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10968.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10969.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10969.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10970.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10970.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10971.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10971.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10972.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10972.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10973.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10973.terrain -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/14/8407/10974.terrain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/AHN/DTM/MOORDRECHT/tiles/14/8407/10974.terrain -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.1.0a12 2 | m_EditorVersionWithRevision: 2019.1.0a12 (5175bce2e5d4) 3 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/New Terrain.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/UnityViewer/UnityQuantizedMeshViewer/Assets/New Terrain.asset -------------------------------------------------------------------------------- /QuantizedLibrary/QuantizedMesh/bin/Debug/netcoreapp2.1/QuantizedMesh.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/QuantizedLibrary/QuantizedMesh/bin/Debug/netcoreapp2.1/QuantizedMesh.dll -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/QuantizedMesh.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/QuantizedMesh.dll -------------------------------------------------------------------------------- /QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/TestQuantizedMesh.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhkluiver/UnityQuantizedMeshViewer/HEAD/QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/TestQuantizedMesh.dll -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/Scenes/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fc0d4010bbf28b4594072e72b8655ab 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0581abba5adbd0b48a8532a48b74150f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ea315d0fd7389c41b19996891e99ae3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/TestQuantizedMesh.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.1", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "2.1.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/New Terrain.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1c858805dc10274c9b55336d3bc5c5c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 15600000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/GM.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c8b5e8db5524c1458c80b1f1fd057db 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/JSON.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48bab860b24348446896f11ee1828921 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/TileCreator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6d835d0bb4549844ac72f5a8eacf310 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/TileGeoJSON.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c1ee8701671ab64da1168269584ac0d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/TestQuantizedMesh.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\kluiverjh\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\kluiverjh\\.nuget\\packages", 6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightRaycast.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03175bcae7cde2247984cd94a48d9a34 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh/QuantizedMeshCreator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21ae9f878dc0c5e4b94e92f09622d4d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh/QuantizedMeshStream.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c2359eb0db6d7b4ab64e741fcb183ed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh/QuantizedMeshFormatDecoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f444721a9baaf5469481d99d4127de8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /QuantizedLibrary/TestQuantizedMesh/Program.cs: -------------------------------------------------------------------------------- 1 | using QuantizedMesh; 2 | using System; 3 | 4 | namespace TestQuantizedMesh 5 | { 6 | class Program 7 | { 8 | static void Main(string[] args) 9 | { 10 | //var decoder = new QuantizedMeshFormatDecoder(new System.IO.FileInfo(@"C:\\development\\quantized-mesh-decoder-master\\src\\assets\\tile-with-extensions.terrain", false)); 11 | var decoder = new QuantizedMeshFormatDecoder(new System.IO.FileInfo(@"C:\dem\DenHaag\output\14\8385\10979.terrain"),false); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /QuantizedLibrary/QuantizedMesh/bin/Debug/netcoreapp2.1/QuantizedMesh.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v2.1", 4 | "signature": "da39a3ee5e6b4b0d3255bfef95601890afd80709" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v2.1": { 9 | "QuantizedMesh/1.0.0": { 10 | "runtime": { 11 | "QuantizedMesh.dll": {} 12 | } 13 | } 14 | } 15 | }, 16 | "libraries": { 17 | "QuantizedMesh/1.0.0": { 18 | "type": "project", 19 | "serviceable": false, 20 | "sha512": "" 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - Terrain 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5487.obj: -------------------------------------------------------------------------------- 1 | v 0.350593321764157362 0.405160912971181786 0.004076152035106870 2 | v 0.589898890244204721 0.000000000000000000 0.001678488332221548 3 | v 0.719362535965489824 0.000000000000000000 0.023611677733436816 4 | v 0.350593321764157362 0.000000000000000000 0.009641770391958406 5 | v 0.808033062215465780 0.000000000000000000 0.003026483457937787 6 | v 1.000000000000000000 0.125931997267784535 0.017108709293592761 7 | v 1.000000000000000000 0.405160912971181841 0.019336552851618605 8 | v 1.000000000000000000 0.000000000000000000 0.010929237041320941 9 | f 1 2 3 10 | f 1 4 2 11 | f 5 1 3 12 | f 1 6 7 13 | f 6 1 5 14 | f 8 6 5 15 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInPlayMode: 1 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | [Bb]uilds/ 6 | [Ll]ogs/ 7 | 8 | # Never ignore Asset meta data 9 | ![Aa]ssets/**/*.meta 10 | 11 | # Uncomment this line if you wish to ignore the asset store tools plugin 12 | # [Aa]ssets/AssetStoreTools* 13 | 14 | # Visual Studio cache directory 15 | .vs/ 16 | 17 | # Gradle cache directory 18 | .gradle/ 19 | 20 | # Autogenerated VS/MD/Consulo solution and project files 21 | ExportedObj/ 22 | .consulo/ 23 | *.csproj 24 | *.unityproj 25 | *.sln 26 | *.suo 27 | *.tmp 28 | *.user 29 | *.userprefs 30 | *.pidb 31 | *.booproj 32 | *.svd 33 | *.pdb 34 | *.mdb 35 | *.opendb 36 | *.VC.db 37 | 38 | # Unity3D generated meta files 39 | *.pidb.meta 40 | *.pdb.meta 41 | *.mdb.meta 42 | 43 | # Unity3D generated file on crash reports 44 | sysinfo.txt 45 | 46 | # Builds 47 | *.apk 48 | *.unitypackage 49 | 50 | # Crashlytics generated file 51 | crashlytics-build.properties 52 | -------------------------------------------------------------------------------- /QuantizedLibrary/TestQuantizedMesh/bin/Debug/netcoreapp2.1/TestQuantizedMesh.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v2.1", 4 | "signature": "da39a3ee5e6b4b0d3255bfef95601890afd80709" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v2.1": { 9 | "TestQuantizedMesh/1.0.0": { 10 | "dependencies": { 11 | "QuantizedMesh": "1.0.0" 12 | }, 13 | "runtime": { 14 | "TestQuantizedMesh.dll": {} 15 | } 16 | }, 17 | "QuantizedMesh/1.0.0": { 18 | "runtime": { 19 | "QuantizedMesh.dll": {} 20 | } 21 | } 22 | } 23 | }, 24 | "libraries": { 25 | "TestQuantizedMesh/1.0.0": { 26 | "type": "project", 27 | "serviceable": false, 28 | "sha512": "" 29 | }, 30 | "QuantizedMesh/1.0.0": { 31 | "type": "project", 32 | "serviceable": false, 33 | "sha512": "" 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 1 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightRaycast.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class HeightRaycast : MonoBehaviour 6 | { 7 | GameObject mMarker; 8 | public float x; 9 | public float mHeight; 10 | 11 | public float z; 12 | // Update is called once per frame 13 | void Update() 14 | { 15 | int layerMask = (1 << 10); 16 | Vector3 pos = new Vector3(x, 10, z); 17 | RaycastHit hit; 18 | // Does the ray intersect any objects excluding the player layer 19 | if (Physics.Raycast(pos, -Vector3.up, out hit, Mathf.Infinity, layerMask)) 20 | { 21 | 22 | Debug.DrawRay(hit.point, Vector3.up * 2, Color.yellow); 23 | if (mMarker != null) mMarker.transform.position = pos + (-Vector3.up * hit.distance); 24 | mHeight = hit.point.y; 25 | //Debug.Log("Height =" + m.transform.position.y); 26 | } 27 | else 28 | { 29 | Debug.DrawRay(pos, Vector3.up * 1000, Color.white); 30 | 31 | } 32 | } 33 | 34 | 35 | 36 | void Start() 37 | { 38 | 39 | 40 | } 41 | 42 | void OnGUI() 43 | { 44 | GUI.Label(new Rect(10, 10, 100, 20), (mHeight * 100).ToString()); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | m_DefaultMaxAngluarSpeed: 7 35 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4201/5487.obj: -------------------------------------------------------------------------------- 1 | v 1.000000000000000000 0.003854542235577306 0.324101325906644422 2 | v 0.978197584871757564 0.000000000000000000 0.017329248068558650 3 | v 0.996852937035510367 0.000000000000000000 0.326726303893527303 4 | v 1.000000000000000000 0.000000000000000000 0.305863092890598653 5 | v 1.000000000000000000 0.003854542235577306 0.324101325906644477 6 | v 1.000000000000000000 0.088556384672243610 0.026285735296727269 7 | v 0.908354439118256640 0.000000000000000000 0.019426675162574021 8 | v 0.000000000000000000 0.405160912971181841 0.019618639236820709 9 | v 0.292881845074192737 0.000000000000000000 0.023267417759675047 10 | v 1.000000000000000000 0.405160912971181841 0.043110869446568952 11 | v 1.000000000000000000 0.101782327499504929 0.040691042654285740 12 | v 0.890075086300546214 0.000000000000000000 0.037296818862270258 13 | v 0.292881845074192737 0.000000000000000000 0.023267417759675051 14 | v 0.000000000000000000 0.125931997267784590 0.017391436514688066 15 | v 0.000000000000000000 0.000000000000000000 0.011213741778438863 16 | v 1.000000000000000000 0.276870667201035703 0.042087592957160379 17 | v 1.000000000000000000 0.025278162467529321 0.019418006209061860 18 | v 0.000000000000000000 0.125931997267784590 0.017391436514688059 19 | f 1 2 3 20 | f 3 4 5 21 | f 6 7 2 22 | f 8 9 10 23 | f 11 12 7 24 | f 13 14 15 25 | f 16 9 12 26 | f 1 17 2 27 | f 17 6 2 28 | f 16 10 9 29 | f 6 11 7 30 | f 11 16 12 31 | f 8 18 9 32 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5483.obj: -------------------------------------------------------------------------------- 1 | v 1.000000000000000000 0.336757102730217694 0.756757320067523498 2 | v 0.000000000000000000 0.253245325428230361 0.215063150543679527 3 | v 1.000000000000000000 0.328197303713196387 0.637279516558014292 4 | v 0.000000000000000000 0.250397570564790173 0.242079287217115968 5 | v 1.000000000000000000 0.325344037374243944 0.865031012258629328 6 | v 1.000000000000000000 0.319637504696175134 0.616160202282636793 7 | v 0.000000000000000000 0.248973693133049623 0.179981766755053535 8 | v 1.000000000000000000 0.225479715509759815 0.477734809285798590 9 | v 1.000000000000000000 0.594388188569586862 0.071670882097065097 10 | v 0.000000000000000000 0.317528684437335840 0.044122375672348238 11 | v 1.000000000000000000 0.594388188569586862 0.071670882097065111 12 | v 0.338948416909988948 1.000000000000000000 0.045429380433891178 13 | v 0.530947793336169482 1.000000000000000000 0.051443880587389676 14 | v 1.000000000000000000 0.791412267543517234 0.068982937574594852 15 | v 1.000000000000000000 1.000000000000000000 0.161909546303221574 16 | v 0.530947793336169482 1.000000000000000000 0.051443880587389669 17 | v 0.000000000000000000 1.000000000000000000 0.034811609983386615 18 | v 0.000000000000000000 0.609006375136913802 0.040145826885933773 19 | v 0.000000000000000000 0.251109509280640020 0.185251396610344676 20 | v 0.000000000000000000 0.225479715509759787 0.145442265417313699 21 | f 1 2 3 22 | f 4 5 3 23 | f 5 4 6 24 | f 7 8 6 25 | f 2 1 9 26 | f 10 11 12 27 | f 13 11 14 28 | f 14 15 16 29 | f 12 17 18 30 | f 13 12 11 31 | f 2 19 3 32 | f 19 4 3 33 | f 4 7 6 34 | f 7 20 8 35 | f 10 2 9 36 | f 18 10 12 37 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "3.2.2", 5 | "com.unity.collab-proxy": "1.2.9", 6 | "com.unity.package-manager-ui": "0.0.0-builtin", 7 | "com.unity.purchasing": "2.0.1", 8 | "com.unity.textmeshpro": "1.3.0", 9 | "com.unity.modules.ai": "1.0.0", 10 | "com.unity.modules.animation": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.cloth": "1.0.0", 14 | "com.unity.modules.director": "1.0.0", 15 | "com.unity.modules.imageconversion": "1.0.0", 16 | "com.unity.modules.imgui": "1.0.0", 17 | "com.unity.modules.jsonserialize": "1.0.0", 18 | "com.unity.modules.particlesystem": "1.0.0", 19 | "com.unity.modules.physics": "1.0.0", 20 | "com.unity.modules.physics2d": "1.0.0", 21 | "com.unity.modules.screencapture": "1.0.0", 22 | "com.unity.modules.terrain": "1.0.0", 23 | "com.unity.modules.terrainphysics": "1.0.0", 24 | "com.unity.modules.tilemap": "1.0.0", 25 | "com.unity.modules.ui": "1.0.0", 26 | "com.unity.modules.uielements": "1.0.0", 27 | "com.unity.modules.umbra": "1.0.0", 28 | "com.unity.modules.unityanalytics": "1.0.0", 29 | "com.unity.modules.unitywebrequest": "1.0.0", 30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 31 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 32 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 33 | "com.unity.modules.unitywebrequestwww": "1.0.0", 34 | "com.unity.modules.vehicles": "1.0.0", 35 | "com.unity.modules.video": "1.0.0", 36 | "com.unity.modules.vr": "1.0.0", 37 | "com.unity.modules.wind": "1.0.0", 38 | "com.unity.modules.xr": "1.0.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5484.obj: -------------------------------------------------------------------------------- 1 | v 0.000000000000000000 0.105604896465545897 0.142402319787585274 2 | v 0.066536598403588706 0.000000000000000000 0.155404101607926670 3 | v 0.000000000000000000 0.106325926352581368 0.173190999478557678 4 | v 0.062478842988847080 0.000000000000000000 0.239029526745582865 5 | v 0.000000000000000000 0.097917662126781269 0.280222096242223495 6 | v 0.000000000000000000 0.015768806613759470 0.228072891373618108 7 | v 0.000000000000000000 0.418204610477068250 0.304453515027150678 8 | v 0.358026747735120054 0.000000000000000000 0.273527267703078891 9 | v 0.615511777675243565 1.000000000000000000 0.798747076087783059 10 | v 0.000000000000000000 0.099673110319833488 0.220154572646185792 11 | v 0.358026747735120054 0.000000000000000000 0.273527267703079002 12 | v 0.700972694332397728 0.000000000000000000 0.990098320938788690 13 | v 0.000000000000000000 0.105604896465545897 0.142402319787585302 14 | v 0.065418825777253373 0.000000000000000000 0.079430082202086791 15 | v 0.000000000000000000 0.000000000000000000 0.218062639599580804 16 | v 0.000000000000000000 0.117844377929533992 0.178038848998828075 17 | v 0.000000000000000000 0.099673110319833488 0.220154572646185764 18 | v 0.700972694332397617 1.000000000000000000 0.977314047551128717 19 | v 0.000000000000000000 0.104015334335581758 0.074526465889785551 20 | v 0.000000000000000000 0.103976941632713371 0.072887060017240879 21 | v 0.000000000000000000 0.103876095730780452 0.076337781957024092 22 | v 0.000000000000000000 1.000000000000000000 0.549317721049230601 23 | v 0.000000000000000000 0.104015334335581758 0.074526465889785565 24 | f 1 2 3 25 | f 4 5 6 26 | f 7 8 9 27 | f 4 10 5 28 | f 9 11 12 29 | f 13 14 2 30 | f 15 4 6 31 | f 16 2 8 32 | f 17 4 14 33 | f 18 9 12 34 | f 14 19 20 35 | f 2 16 3 36 | f 14 20 21 37 | f 22 7 9 38 | f 13 23 14 39 | f 7 16 8 40 | f 21 17 14 41 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5483.obj: -------------------------------------------------------------------------------- 1 | v 0.216660428594810356 0.354850800193180604 0.874121011003869297 2 | v 0.000000000000000000 0.336757102730217694 0.756757320067523498 3 | v 0.216660428594810356 0.344899178294382713 0.735216122762782698 4 | v 0.000000000000000000 0.325344037374243944 0.865031012258629328 5 | v 0.216660428594810356 0.341581970994846884 1.000000000000000000 6 | v 0.219977635894393814 0.358168007492716489 0.570259377629539599 7 | v 0.336079891379433338 0.421194946184468566 0.000000000000000000 8 | v 0.216660428594810356 0.334947556395584822 0.710662809067856838 9 | v 0.273052952687562189 0.669985493652512365 0.079193083118466331 10 | v 0.000000000000000000 0.225479715509759787 0.477734809285798590 11 | v 0.700972694332397617 0.225479715509759787 0.710662809067856838 12 | v 0.065418825777253276 1.000000000000000000 0.064619057256473100 13 | v 0.066536598403588734 1.000000000000000000 0.117936615855986707 14 | v 0.000000000000000000 0.791412267543517234 0.068982937574594852 15 | v 0.000000000000000000 0.594388188569586862 0.071670882097065111 16 | v 0.062478842988847157 1.000000000000000000 0.176623829459476717 17 | v 0.358026747735120054 1.000000000000000000 0.200833886258324379 18 | v 0.700972694332397617 1.000000000000000000 0.703713942103749157 19 | v 0.358026747735120054 1.000000000000000000 0.200833886258324434 20 | v 0.000000000000000000 0.328197303713196387 0.637279516558014292 21 | v 0.000000000000000000 0.319637504696175134 0.616160202282636793 22 | v 0.000000000000000000 0.594388188569586862 0.071670882097065097 23 | v 0.000000000000000000 1.000000000000000000 0.161909546303221519 24 | f 1 2 3 25 | f 4 5 3 26 | f 5 6 3 27 | f 6 1 3 28 | f 7 6 8 29 | f 7 9 6 30 | f 5 4 8 31 | f 10 11 8 32 | f 12 9 13 33 | f 2 1 9 34 | f 9 14 15 35 | f 5 8 6 36 | f 11 7 8 37 | f 14 9 16 38 | f 9 17 13 39 | f 9 12 16 40 | f 18 9 11 41 | f 6 9 1 42 | f 7 11 9 43 | f 18 19 9 44 | f 2 20 3 45 | f 20 4 3 46 | f 4 21 8 47 | f 21 10 8 48 | f 22 2 9 49 | f 23 14 16 50 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/TileGeoJSON.cs: -------------------------------------------------------------------------------- 1 | using Helpers; 2 | using System; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | using System.Linq; 7 | 8 | public class TileGeoJSON 9 | { 10 | 11 | GameObject mParent; 12 | private Rect mTileBoundry; 13 | private Vector2 mTileCenter; 14 | public TileGeoJSON(GameObject pParent, int pZoom, int pX, int pY) 15 | { 16 | mParent = pParent; 17 | mTileBoundry = GM.TileBounds(new Vector2Int(pX, pY), pZoom); 18 | mTileCenter = mTileBoundry.center; 19 | 20 | 21 | 22 | var fi = new System.IO.FileInfo(String.Format(@"C:\development\GIT_WorldExplorer2018\WorldExplorer\world-explorer-server\cache\{0}\{1}\{2}\buildings.json", pZoom, pX, pY)); 23 | if (fi.Exists) 24 | { 25 | JSONObject jsonObject = new JSONObject(System.IO.File.ReadAllText(fi.FullName)); 26 | CreateBuilding(jsonObject); 27 | } 28 | } 29 | 30 | private void CreateBuilding(JSONObject pJson) 31 | { 32 | 33 | foreach (var geo in pJson.list[1].list.Where(x => x["geometry"]["type"].str == "Polygon")) 34 | { 35 | var bb = geo["geometry"]["coordinates"].list[0]; //this is wrong but cant fix it now 36 | for (int i = 0; i < bb.list.Count - 1; i++) 37 | { 38 | var c = bb.list[i]; 39 | var dotMerc = GM.LatLonToMeters(c[1].f, c[0].f); 40 | 41 | var localMercPos = dotMerc - mTileCenter; 42 | 43 | 44 | 45 | GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule); 46 | capsule.transform.position = new Vector3((float)localMercPos.x/1000f, 0.5f, (float)localMercPos.y / 1000f); 47 | capsule.transform.localScale = new Vector3(0.02f, 0.02f, 0.02f); 48 | capsule.transform.SetParent(mParent.transform, false); 49 | } 50 | } 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4202/5484.obj: -------------------------------------------------------------------------------- 1 | v 0.436587453032344031 1.000000000000000000 0.016380133846840735 2 | v 1.000000000000000000 0.106325926352581687 0.059986454834643682 3 | v 0.440756972623979226 1.000000000000000000 0.108673407657097723 4 | v 0.530947793336169371 0.000000000000000000 0.023337737906985821 5 | v 0.000000000000000000 0.236112728372981778 0.014124673157743239 6 | v 0.000000000000000000 0.000000000000000000 0.015619488828394951 7 | v 0.424403529181302641 1.000000000000000000 0.218430877008226942 8 | v 0.000000000000000000 0.279887581555344378 0.023174562543018307 9 | v 1.000000000000000000 0.097917662126781421 0.094842842314796602 10 | v 1.000000000000000000 1.000000000000000000 0.182478133843183843 11 | v 0.141848978286832156 1.000000000000000000 0.124192628051523715 12 | v 0.000000000000000000 0.678309443308532822 0.105543171811009626 13 | v 0.145607304607715454 1.000000000000000000 0.187961732085480560 14 | v 0.435393503898055811 1.000000000000000000 0.024138536499343000 15 | v 0.135626658502454256 1.000000000000000000 0.296332381117817623 16 | v 0.000000000000000000 0.690464964869366704 0.168398330262019336 17 | v 0.000000000000000000 0.690464964869366704 0.168398330262019363 18 | v 0.000000000000000000 1.000000000000000000 0.132399637143911869 19 | v 0.436252159110542825 1.000000000000000000 0.008958325877935823 20 | v 1.000000000000000000 0.103976941632713440 0.027320873659020931 21 | v 1.000000000000000000 0.105604896465546091 0.049959629157237680 22 | v 0.000000000000000000 0.268155148284240030 0.020749032458855846 23 | v 0.530947793336169371 0.000000000000000000 0.023337737906985824 24 | v 1.000000000000000000 0.015768806613759487 0.077859620179871594 25 | v 0.435641346011342856 1.000000000000000000 0.019756922755156312 26 | v 1.000000000000000000 0.099673110319833752 0.075280893117360276 27 | v 0.436484388416369218 1.000000000000000000 0.014098774900502452 28 | v 0.435393503898055811 1.000000000000000000 0.024138536499343010 29 | v 1.000000000000000000 0.000000000000000000 0.074599621682610723 30 | v 0.000000000000000000 0.504667328160323447 0.069644891851737403 31 | v 0.436587453032344031 1.000000000000000000 0.016380133846840741 32 | v 0.000000000000000000 0.682794410760132142 0.072247733353143315 33 | f 1 2 3 34 | f 4 5 6 35 | f 7 8 9 36 | f 3 2 10 37 | f 11 12 13 38 | f 9 14 7 39 | f 15 16 11 40 | f 17 15 18 41 | f 19 20 21 42 | f 22 23 24 43 | f 25 26 20 44 | f 27 21 2 45 | f 22 24 9 46 | f 28 9 26 47 | f 29 24 23 48 | f 30 7 13 49 | f 27 19 21 50 | f 19 25 20 51 | f 31 27 2 52 | f 25 28 26 53 | f 30 8 7 54 | f 32 12 11 55 | f 16 32 11 56 | f 22 5 23 57 | f 8 22 9 58 | f 12 30 13 59 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5487.obj: -------------------------------------------------------------------------------- 1 | v 0.279957499092010453 0.000000000000000000 0.003626337574627972 2 | v 0.309542232982837229 0.040268110018050904 0.003913611665320153 3 | v 0.274255744822676617 0.000000000000000000 0.004178451654178558 4 | v 0.287577809336627410 0.000000000000000000 0.031451513873982748 5 | v 0.294969012214399473 0.000000000000000000 0.004456559625171074 6 | v 0.000000000000000000 0.399575473175605933 0.255242499701906822 7 | v 0.700972694332397617 0.405160912971181786 0.061456802831080758 8 | v 0.000000000000000000 0.399619626849879284 0.229319857230913388 9 | v 0.000000000000000000 0.399641442936970959 0.132219728980307011 10 | v 0.000000000000000000 0.398817268678468950 0.135385122495209620 11 | v 0.000000000000000000 0.398845843652760434 0.271616304346759152 12 | v 0.000000000000000000 0.398984942095897466 0.298588420209116301 13 | v 0.000000000000000000 0.399012029687455694 0.572409382591840710 14 | v 0.000000000000000000 0.399091885314517170 0.920017047351548767 15 | v 0.491157221543796874 0.000000000000000000 0.018055166563256998 16 | v 0.331064843509731255 0.000000000000000000 0.003462599693315819 17 | v 0.000000000000000000 0.405160912971181786 0.054847887510777737 18 | v 0.700972694332397617 0.000000000000000000 0.029408979429699181 19 | v 0.491157221543796874 0.000000000000000000 0.018055166563257001 20 | v 0.000000000000000000 0.352758364267496294 0.064096732331026335 21 | v 0.000000000000000000 0.344024506870504232 0.002295578554682020 22 | v 0.000000000000000000 0.364836664990385140 0.126091785787312560 23 | v 0.000000000000000000 0.399195187912928406 0.284285649802053508 24 | v 0.000000000000000000 0.399143979972514273 0.802328038149581868 25 | v 0.000000000000000000 0.399319473851641960 0.012246345627177954 26 | v 0.000000000000000000 0.238284097293874036 0.021298171577008734 27 | v 0.101095545830382313 0.000000000000000000 0.004938292851742118 28 | v 0.000000000000000000 0.251319632506443069 0.029694499684912671 29 | v 0.000000000000000000 0.238284097293874036 0.021298171577008737 30 | v 0.331064843509731255 0.000000000000000000 0.003462599693315819 31 | v 0.000000000000000000 0.000000000000000000 0.006636899206917183 32 | v 0.000000000000000000 0.136990898317614712 0.015065749034780624 33 | f 1 2 3 34 | f 2 4 5 35 | f 6 7 8 36 | f 7 9 8 37 | f 2 1 4 38 | f 10 7 11 39 | f 7 12 11 40 | f 12 7 13 41 | f 7 14 13 42 | f 2 15 7 43 | f 2 5 16 44 | f 7 17 9 45 | f 18 7 19 46 | f 7 10 2 47 | f 2 20 21 48 | f 2 22 20 49 | f 7 23 24 50 | f 7 25 23 51 | f 26 27 2 52 | f 2 21 28 53 | f 2 28 29 54 | f 14 7 24 55 | f 2 27 3 56 | f 25 7 6 57 | f 30 15 2 58 | f 31 27 32 59 | f 10 22 2 60 | f 26 32 27 61 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/12/2101/2741.obj: -------------------------------------------------------------------------------- 1 | v 0.000000000000000000 0.621862542872617663 0.102081810262075412 2 | v 0.847998441691523164 0.613569159579763879 0.084146232886333536 3 | v 0.609159516122301126 0.673278890972075383 0.082741745112494533 4 | v 0.609159516122301126 0.676596098271706414 0.188264053887100213 5 | v 0.668869247514612519 0.709768171267350367 0.017357611834982814 6 | v 0.824122852008809970 1.000000000000000000 0.062240916936249516 7 | v 0.000000000000000000 0.877202846552904481 0.082560808763475352 8 | v 0.000000000000000000 0.806960975262846714 0.160662009709705927 9 | v 0.000000000000000000 0.647972560925472063 0.099143758315690389 10 | v 0.000000000000000000 0.649710219217344065 0.140102685459347287 11 | v 0.000000000000000000 0.651458251588622472 0.294456559303121312 12 | v 0.000000000000000000 0.654985812409836332 0.326587271221944697 13 | v 0.000000000000000000 0.656765530595290636 0.198704570017616128 14 | v 0.500785346701831613 1.000000000000000000 0.181702779708267481 15 | v 0.499130777281079518 1.000000000000000000 0.177993586756255595 16 | v 0.497464218226861432 1.000000000000000000 0.099834962611609013 17 | v 0.177207866004858161 1.000000000000000000 0.025082737260362510 18 | v 0.824122852008809970 1.000000000000000000 0.062240916936249509 19 | v 0.845521320919599417 1.000000000000000000 0.097445476204052459 20 | v 0.000000000000000000 0.617550372921051749 0.129107827796646535 21 | v 0.000000000000000000 0.619699268796801928 0.141734104753700407 22 | v 0.000000000000000000 0.613569159579763879 0.165914884987629879 23 | v 0.000000000000000000 0.658556002364894311 0.088419545012876702 24 | v 0.000000000000000000 0.786772489032891875 0.106909867998261285 25 | v 0.624099444146278159 1.000000000000000000 0.056861766118730214 26 | v 0.505678397195197249 1.000000000000000000 0.024650840946925278 27 | v 0.000000000000000000 0.806014038454005655 0.130539394718574148 28 | v 0.688075765592506827 1.000000000000000000 0.014058429031923192 29 | v 0.139774686530494158 1.000000000000000000 0.080564956030474755 30 | v 0.000000000000000000 0.877202846552904481 0.082560808763475366 31 | v 0.847998441691523164 1.000000000000000000 0.065701795246770139 32 | v 0.688075765592506827 1.000000000000000000 0.014058429031923194 33 | v 0.000000000000000000 1.000000000000000000 0.063467791401274176 34 | v 0.000000000000000000 0.979855773415318043 0.066599900388598129 35 | f 1 2 3 36 | f 4 3 5 37 | f 2 5 3 38 | f 2 6 5 39 | f 4 7 8 40 | f 9 3 10 41 | f 11 3 12 42 | f 12 3 13 43 | f 5 14 15 44 | f 5 16 17 45 | f 18 2 19 46 | f 20 2 21 47 | f 2 1 21 48 | f 2 20 22 49 | f 17 4 5 50 | f 13 3 23 51 | f 23 3 24 52 | f 5 25 26 53 | f 5 26 14 54 | f 5 15 16 55 | f 4 27 3 56 | f 5 28 25 57 | f 10 3 11 58 | f 24 3 27 59 | f 29 30 4 60 | f 2 31 19 61 | f 6 32 5 62 | f 17 29 4 63 | f 29 33 34 64 | f 9 1 3 65 | f 8 27 4 66 | f 34 30 29 67 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh/QuantizedMeshStream.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.IO.Compression; 6 | using UnityEngine; 7 | 8 | public class QuantizedMeshStream : IDisposable 9 | { 10 | private readonly Stream mStream; 11 | bool mDisposed = false; 12 | 13 | public QuantizedMeshStream(Stream pInputStream, bool pIsGZipped = false) 14 | { 15 | if (pInputStream == null) throw new ArgumentNullException("pInputStream"); 16 | mStream = pIsGZipped ? (new GZipStream(pInputStream, CompressionMode.Decompress)) : pInputStream; 17 | } 18 | 19 | public float ReadFloat() 20 | { 21 | const int floatSize = 4; // 32 bit 22 | byte[] buffer = new byte[floatSize]; 23 | int nRead = mStream.Read(buffer, 0, buffer.Length); 24 | if (nRead != floatSize) throw new Exception(" Stream error"); 25 | return System.BitConverter.ToSingle(buffer, 0); 26 | } 27 | 28 | public double ReadDouble() 29 | { 30 | const int doubleSize = 8; // 64 bit 31 | byte[] buffer = new byte[doubleSize]; 32 | int nRead = mStream.Read(buffer, 0, buffer.Length); 33 | if (nRead != doubleSize) throw new Exception(" Stream error"); 34 | return System.BitConverter.ToDouble(buffer, 0); 35 | } 36 | 37 | public uint ReadUnsigned32Bit() 38 | { 39 | const int size = 4; // 32-bit unsigned integer 40 | byte[] buffer = new byte[size]; 41 | int nRead = mStream.Read(buffer, 0, buffer.Length); 42 | if (nRead != size) throw new Exception(" Stream error"); 43 | return System.BitConverter.ToUInt32(buffer, 0); 44 | } 45 | 46 | public ushort ReadUnsigned16Bit() 47 | { 48 | const int size = 2; // 16-bit unsigned integer 49 | byte[] buffer = new byte[size]; 50 | int nRead = mStream.Read(buffer, 0, buffer.Length); 51 | if (nRead != size) throw new Exception(" Stream error"); 52 | return System.BitConverter.ToUInt16(buffer, 0); 53 | } 54 | 55 | public void ReadPadding(byte pNumberOfBytes) 56 | { 57 | 58 | byte[] buffer = new byte[pNumberOfBytes]; 59 | int nRead = mStream.Read(buffer, 0, buffer.Length); 60 | if (nRead != pNumberOfBytes) throw new Exception(" Stream error"); 61 | } 62 | 63 | public long GetPosition() 64 | { 65 | return mStream.Position; 66 | } 67 | 68 | 69 | public void Dispose() 70 | { 71 | Dispose(true); 72 | GC.SuppressFinalize(this); 73 | } 74 | 75 | 76 | protected virtual void Dispose(bool disposing) 77 | { 78 | if (mDisposed) 79 | return; 80 | 81 | if (disposing) 82 | { 83 | if (mStream != null) mStream.Dispose(); 84 | } 85 | 86 | mDisposed = true; 87 | } 88 | 89 | 90 | } 91 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles.vrt: -------------------------------------------------------------------------------- 1 | 2 | PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]] 3 | 5.1047183837289811e+05, 8.1138389819267793e+00, 0.0000000000000000e+00, 6.8067282686920436e+06, 0.0000000000000000e+00, -8.1138389819267793e+00 4 | 5 | 3.402823466385289e+38 6 | Gray 7 | 8 | mercator_m5_38an1.tif 9 | 1 10 | 11 | 12 | 13 | 3.402823466385289e+38 14 | 15 | 16 | mercator_m5_38an2.tif 17 | 1 18 | 19 | 20 | 21 | 3.402823466385289e+38 22 | 23 | 24 | mercator_m5_38az1.tif 25 | 1 26 | 27 | 28 | 29 | 3.402823466385289e+38 30 | 31 | 32 | mercator_m5_38az2.tif 33 | 1 34 | 35 | 36 | 37 | 3.402823466385289e+38 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /QuantizedLibrary/QuantizedMesh/QuantizedMeshStream.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.IO.Compression; 5 | using System.Text; 6 | 7 | namespace QuantizedMesh 8 | { 9 | class QuantizedMeshStream : IDisposable 10 | { 11 | private readonly Stream mStream; 12 | bool mDisposed = false; 13 | 14 | public QuantizedMeshStream(Stream pInputStream, bool pIsGZipped=false) 15 | { 16 | if (pInputStream == null) throw new ArgumentNullException("pInputStream"); 17 | mStream = pIsGZipped ? (new GZipStream(pInputStream, CompressionMode.Decompress)) : pInputStream; 18 | } 19 | 20 | public float ReadFloat() 21 | { 22 | const int floatSize = 4; // 32 bit 23 | byte[] buffer = new byte[floatSize]; 24 | int nRead = mStream.Read(buffer, 0, buffer.Length); 25 | if (nRead != floatSize) throw new Exception(" Stream error"); 26 | return System.BitConverter.ToSingle(buffer, 0); 27 | } 28 | 29 | public double ReadDouble() 30 | { 31 | const int doubleSize = 8; // 64 bit 32 | byte[] buffer = new byte[doubleSize]; 33 | int nRead = mStream.Read(buffer, 0, buffer.Length); 34 | if (nRead != doubleSize) throw new Exception(" Stream error"); 35 | return System.BitConverter.ToDouble(buffer, 0); 36 | } 37 | 38 | public uint ReadUnsigned32Bit() 39 | { 40 | const int size = 4; // 32-bit unsigned integer 41 | byte[] buffer = new byte[size]; 42 | int nRead = mStream.Read(buffer, 0, buffer.Length); 43 | if (nRead != size) throw new Exception(" Stream error"); 44 | return System.BitConverter.ToUInt32(buffer, 0); 45 | } 46 | 47 | public ushort ReadUnsigned16Bit() 48 | { 49 | const int size = 2; // 16-bit unsigned integer 50 | byte[] buffer = new byte[size]; 51 | int nRead = mStream.Read(buffer, 0, buffer.Length); 52 | if (nRead != size) throw new Exception(" Stream error"); 53 | return System.BitConverter.ToUInt16(buffer, 0); 54 | } 55 | 56 | public void ReadPadding(byte pNumberOfBytes) 57 | { 58 | 59 | byte[] buffer = new byte[pNumberOfBytes]; 60 | int nRead = mStream.Read(buffer, 0, buffer.Length); 61 | if (nRead != pNumberOfBytes) throw new Exception(" Stream error"); 62 | } 63 | 64 | public long GetPosition() 65 | { 66 | return mStream.Position; 67 | } 68 | 69 | 70 | public void Dispose() 71 | { 72 | Dispose(true); 73 | GC.SuppressFinalize(this); 74 | } 75 | 76 | 77 | protected virtual void Dispose(bool disposing) 78 | { 79 | if (mDisposed) 80 | return; 81 | 82 | if (disposing) 83 | { 84 | if (mStream != null) mStream.Dispose(); 85 | } 86 | 87 | mDisposed = true; 88 | } 89 | 90 | 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh/QuantizedMeshCreator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEngine; 4 | 5 | public class QuantizedMeshCreator 6 | { 7 | 8 | public const float MinimumHeight = -10; /* lowest point in Netherlands*/ 9 | public const float MaximumHeight = 350; /* heighest point in Netherlands */ 10 | 11 | public static Mesh CreateMesh(Stream pStream, String pName) 12 | { 13 | try 14 | { 15 | 16 | var decoder = new QuantizedMeshFormatDecoder(pStream, false); 17 | Vector3[] terrainVertices = new Vector3[decoder.VertexList.Length]; 18 | for (int index = 0; index < terrainVertices.Length; index++) 19 | { 20 | float heightInMeter = decoder.GetHeightInMeter(index); 21 | float normalizedHeight = Mathf.InverseLerp(MinimumHeight, MaximumHeight, heightInMeter); 22 | 23 | terrainVertices[index] = new Vector3( 24 | (float)QuantizedMeshFormatDecoder.Normalize(decoder.VertexList[index].u), 25 | normalizedHeight, 26 | (float)QuantizedMeshFormatDecoder.Normalize(decoder.VertexList[index].v)); 27 | } 28 | 29 | int[] terrainTriangles = new int[decoder.TriangleIndices.Length]; 30 | for (int index = 0; index < terrainTriangles.Length / 3; index++) 31 | { 32 | // Inverse traingle direction (frontface / backface) 33 | int offset = (index * 3); 34 | terrainTriangles[offset + 0] = (int)decoder.TriangleIndices[offset + 0]; 35 | terrainTriangles[offset + 1] = (int)decoder.TriangleIndices[offset + 2]; 36 | terrainTriangles[offset + 2] = (int)decoder.TriangleIndices[offset + 1]; 37 | } 38 | 39 | Vector2[] terrainUV = new Vector2[decoder.VertexList.Length]; 40 | for (int index = 0; index < terrainVertices.Length; index++) 41 | { 42 | terrainUV[index] = new Vector2( 43 | (float)QuantizedMeshFormatDecoder.Normalize(decoder.VertexList[index].u), 44 | (float)QuantizedMeshFormatDecoder.Normalize(decoder.VertexList[index].v)); 45 | } 46 | 47 | // Replace quad mesh with own mesh 48 | 49 | Mesh terreinMesh = new Mesh() 50 | { 51 | name = pName, 52 | vertices = terrainVertices, 53 | triangles = terrainTriangles, 54 | uv = terrainUV 55 | }; 56 | 57 | 58 | terreinMesh.RecalculateBounds(); 59 | terreinMesh.RecalculateNormals(); // Could also be extracted from terrain file; but this is easer 60 | 61 | return terreinMesh; 62 | 63 | } 64 | catch (Exception ex) 65 | { 66 | Mesh terreinMesh = CreateEmptyQuad(pName + "_corruptstream"); 67 | return terreinMesh; 68 | } 69 | } 70 | 71 | public static Mesh CreateEmptyQuad(String pName) 72 | { 73 | Vector3[] vertices = new Vector3[4] 74 | { 75 | new Vector3(0, 0, 0), 76 | new Vector3(1, 0, 0), 77 | new Vector3(0, 0, 1), 78 | new Vector3(1, 0, 1) 79 | }; 80 | Vector3[] normals = new Vector3[4] 81 | { 82 | -Vector3.forward, 83 | -Vector3.forward, 84 | -Vector3.forward, 85 | -Vector3.forward 86 | }; 87 | Vector2[] uv = new Vector2[4] 88 | { 89 | 90 | new Vector2(0, 0), 91 | new Vector2(1, 0), 92 | new Vector2(0, 1), 93 | new Vector2(1, 1) 94 | }; 95 | int[] tri = new int[6] { 0, 2, 1, 2, 3, 1 }; 96 | 97 | var mesh = new Mesh() 98 | { 99 | name = pName, 100 | vertices = vertices, 101 | triangles = tri, 102 | normals = normals, 103 | uv = uv 104 | }; 105 | return mesh; 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/TileCreator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using UnityEngine; 4 | using UnityEngine.Networking; 5 | 6 | public class TileCreator : MonoBehaviour 7 | { 8 | public struct PointF 9 | { 10 | public float X; 11 | public float Y; 12 | } 13 | 14 | [SerializeField] 15 | private float Latitude = 52.100876f; 16 | 17 | 18 | [SerializeField] 19 | private float Longitude = 4.257421f; 20 | 21 | [SerializeField] 22 | private int ZoomLevel = 14; 23 | 24 | [SerializeField] 25 | private int NumberOfTiles = 3; 26 | 27 | public PointF WorldToTilePos(double lon, double lat, int zoom) 28 | { 29 | PointF p = new PointF(); 30 | p.X = (float)((lon + 180.0) / 360.0 * (1 << zoom)); 31 | p.Y = (float)((1.0 - Math.Log(Math.Tan(lat * Math.PI / 180.0) + 32 | 1.0 / Math.Cos(lat * Math.PI / 180.0)) / Math.PI) / 2.0 * (1 << zoom)); 33 | 34 | return p; 35 | } 36 | 37 | public PointF TileToWorldPos(double tile_x, double tile_y, int zoom) 38 | { 39 | PointF p = new PointF(); 40 | double n = Math.PI - ((2.0 * Math.PI * tile_y) / Math.Pow(2.0, zoom)); 41 | 42 | p.X = (float)((tile_x / Math.Pow(2.0, zoom) * 360.0) - 180.0); 43 | p.Y = (float)(180.0 / Math.PI * Math.Atan(Math.Sinh(n))); 44 | 45 | return p; 46 | } 47 | 48 | // Start is called before the first frame update 49 | void Start() 50 | { 51 | var tile = WorldToTilePos(Longitude, Latitude, ZoomLevel); 52 | int x = (int)tile.X; 53 | int y = (int)tile.Y; 54 | int y1 = toTms(ZoomLevel, y); 55 | for (int yTile = y - NumberOfTiles; yTile <= y + NumberOfTiles; yTile++) 56 | { 57 | for (int xTile = x - NumberOfTiles; xTile <= x + NumberOfTiles; xTile++) 58 | { 59 | StartCoroutine(generateTiles(ZoomLevel, xTile, yTile, xTile - x, yTile - y)); 60 | } 61 | } 62 | } 63 | 64 | // Update is called once per frame 65 | void Update() 66 | { 67 | 68 | } 69 | 70 | public static int toTms(int pZoom, int pY) 71 | { 72 | return (int)(System.Math.Pow(2, pZoom) - pY - 1); 73 | } 74 | 75 | private IEnumerator generateTiles(int zoom, int x, int y, int offsetX, int offsetY) 76 | { 77 | 78 | 79 | float tileSize = 1; 80 | var tile = GameObject.CreatePrimitive(PrimitiveType.Quad); 81 | 82 | tile.name = string.Format("tile-{0}-{1}-{2}", zoom, x, y); 83 | tile.transform.SetParent(this.transform, false); 84 | tile.transform.localRotation = Quaternion.Euler(0, 0, 0); 85 | 86 | tile.transform.localPosition += new Vector3(offsetX * tileSize, 0, (-offsetY * tileSize) ); 87 | tile.transform.localScale = new Vector3(1, 1 /*2.5f*/, 1); 88 | 89 | // OSM uses tiles: https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames 90 | // TMS uses tiles: https://en.wikipedia.org/wiki/Tile_Map_Service 91 | 92 | // Convert XYZ OSM to XYZ TMS 93 | int tms_zoom = zoom; // Stays the same 94 | int tms_x = x; // Stays the same 95 | int tms_y = (int)(System.Math.Pow(2, zoom) - y - 1); 96 | 97 | name = $"Height-mesh-tile-{tms_zoom}-{ tms_x}-{tms_y}"; 98 | var fi = new System.IO.FileInfo(String.Format(@"C:\development\QuantizedMesh\AHN\DTM\MOORDRECHT\tiles\{0}\{1}\{2}.terrain", tms_zoom, tms_x, tms_y)); 99 | Mesh terrainMesh = (fi.Exists) ? QuantizedMeshCreator.CreateMesh(fi.OpenRead(), name) : QuantizedMeshCreator.CreateEmptyQuad(name + "_noheightmap"); 100 | tile.gameObject.GetComponent().mesh = terrainMesh; 101 | tile.gameObject.GetComponent().sharedMesh = terrainMesh; 102 | tile.gameObject.layer = 10; 103 | 104 | 105 | 106 | //new TileGeoJSON(tile, tms_zoom, tms_x, y); 107 | // 108 | //string url = string.Format("https://tile.openstreetmap.org/{0}/{1}/{2}.png", zoom, x, y); 109 | string url = string.Format("http://mt0.google.com/vt/lyrs=y&hl=en&x={1}&y={2}&z={0}&s=Ga", zoom, x, y); 110 | using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url)) 111 | { 112 | yield return uwr.SendWebRequest(); 113 | 114 | if (uwr.isNetworkError || uwr.isHttpError) 115 | { 116 | Debug.Log(uwr.error); 117 | } 118 | else 119 | { 120 | // Get downloaded asset bundle 121 | var texture = DownloadHandlerTexture.GetContent(uwr); 122 | var rend = tile.GetComponent(); 123 | if (rend) 124 | { 125 | Material material = new Material(Shader.Find("Standard")); 126 | //Texture2D texture = new Texture2D(512, 512, TextureFormat.DXT5, false); 127 | //texture.LoadImage(bytes); 128 | material.mainTexture = texture; 129 | rend.material = material; 130 | } 131 | } 132 | } 133 | } 134 | 135 | 136 | 137 | } 138 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5485.obj: -------------------------------------------------------------------------------- 1 | v 0.788464685307731172 0.023406071878175491 0.016413175083108970 2 | v 0.832185461080134470 0.000000000000000000 0.065184755538897701 3 | v 0.856835053162331106 0.000000000000000000 0.014361091565115808 4 | v 1.000000000000000000 0.251961469361762724 0.013926871780483990 5 | v 1.000000000000000000 0.237318187859078100 0.167883900050042500 6 | v 0.771878648809861567 0.006820035380305905 0.110515379164684124 7 | v 0.779057633420708107 0.000000000000000000 0.120612172745314772 8 | v 0.778513063409004724 0.013454449979377588 0.316518957376629773 9 | v 0.792675642334661923 0.000000000000000000 0.301063554674798284 10 | v 0.771878648809861567 0.010137242679841747 0.559251556261739835 11 | v 0.775195856109433201 0.013454449979377588 0.499617027191954333 12 | v 0.781830270708576247 0.020088864578449273 0.295108871852325649 13 | v 0.583410965211966892 1.000000000000000000 0.020879180369068887 14 | v 0.461417838064198171 0.000000000000000000 0.044230051373911033 15 | v 0.721965242749328606 1.000000000000000000 0.137480514523368902 16 | v 1.000000000000000000 0.911759391921249551 0.093657499202948136 17 | v 0.988588787384223067 1.000000000000000000 0.098488433633555986 18 | v 0.988205463276602525 1.000000000000000000 0.105999148845969088 19 | v 0.364860334908791661 1.000000000000000000 0.537527165973225696 20 | v 0.375569839594196653 0.000000000000000000 0.934285635136937409 21 | v 0.544272328510060244 1.000000000000000000 0.426661059483902760 22 | v 0.555319524537332909 1.000000000000000000 0.419834539212967095 23 | v 0.399801129888498363 0.000000000000000000 0.919312116610009222 24 | v 0.405009480008009681 0.000000000000000000 0.202007688437854077 25 | v 0.730352555226286393 0.000000000000000000 0.243608554286504686 26 | v 0.722745374889553371 0.000000000000000000 0.250808783787241696 27 | v 0.768561441510290044 0.003502828080579686 0.083816617569481555 28 | v 0.772344495837317346 0.000000000000000000 0.089447463706215091 29 | v 0.760036397284938214 0.000000000000000000 0.381227936307833914 30 | v 0.768561441510290044 0.006820035380305905 0.622278143363270697 31 | v 0.726871238287776666 1.000000000000000000 0.141609189836073290 32 | v 0.473587936223996309 0.000000000000000000 0.054471883726135630 33 | v 0.762617113150255488 0.000000000000000000 0.559151341313378736 34 | v 0.765244234210718521 0.003502828080579686 0.634861565093135960 35 | v 0.761741406130101217 0.000000000000000000 0.627274186096074327 36 | v 0.760573796769895449 0.000000000000000000 0.465358470424666992 37 | v 1.000000000000000000 0.252966665507589006 0.086652053107042173 38 | v 0.792675642334661923 0.000000000000000000 0.301063554674798339 39 | v 0.792316979621611517 0.000000000000000000 0.325249093571543968 40 | v 0.765058613429672740 0.000000000000000000 0.153576328402907358 41 | v 0.989850949519082368 1.000000000000000000 0.073758081019778085 42 | v 1.000000000000000000 0.922637426522817883 0.066689888721105400 43 | v 1.000000000000000000 1.000000000000000000 0.072923317165175666 44 | v 0.759498997800140629 0.000000000000000000 0.265508558208963075 45 | v 0.791967513388382893 0.000000000000000000 0.325214929912408912 46 | v 0.759713957594060352 0.000000000000000000 0.311136878762226954 47 | v 0.759230298057739783 0.000000000000000000 0.187759598134258465 48 | v 0.821379473886395206 0.000000000000000000 0.026080146817638313 49 | v 0.811278198404167372 0.000000000000000000 0.017351388041764042 50 | v 0.350593321764157362 0.000000000000000000 0.776362113783912844 51 | v 1.000000000000000000 0.282625875880299415 0.017123212799910009 52 | v 0.585920228361445750 0.000000000000000000 0.039165210718809587 53 | v 0.830942371308837302 0.000000000000000000 0.024963146858200981 54 | v 0.566536248803519382 1.000000000000000000 0.087598863076861141 55 | v 0.424404269108089371 0.000000000000000000 0.190575241234305359 56 | v 0.461417838064198171 0.000000000000000000 0.044230051373911027 57 | v 0.557694043766399306 1.000000000000000000 0.092810986896728384 58 | v 1.000000000000000000 0.190958796386855617 0.031957531099673760 59 | v 1.000000000000000000 0.009634003210354531 0.015414559076859895 60 | v 0.791967513388382893 0.000000000000000000 0.325214929912408968 61 | v 0.544272328510060244 1.000000000000000000 0.426661059483902649 62 | v 0.399801129888498363 0.000000000000000000 0.919312116610009111 63 | v 1.000000000000000000 0.292416555033403414 0.018314251940694144 64 | v 0.856835053162331106 0.000000000000000000 0.014361091565115809 65 | v 0.988588787384223067 1.000000000000000000 0.098488433633555972 66 | v 1.000000000000000000 0.922637426522817883 0.066689888721105414 67 | v 1.000000000000000000 0.251961469361762724 0.013926871780483992 68 | v 1.000000000000000000 0.000000000000000000 0.014535611180189976 69 | v 0.350593321764157362 1.000000000000000000 0.447318556017168134 70 | v 0.555319524537332909 1.000000000000000000 0.419834539212967039 71 | v 0.989850949519082368 1.000000000000000000 0.073758081019778099 72 | f 1 2 3 73 | f 4 1 5 74 | f 6 7 8 75 | f 9 1 8 76 | f 10 6 11 77 | f 12 11 8 78 | f 13 14 15 79 | f 16 17 18 80 | f 19 20 21 81 | f 22 23 24 82 | f 6 8 11 83 | f 25 12 26 84 | f 27 28 6 85 | f 1 12 8 86 | f 29 30 10 87 | f 27 6 30 88 | f 31 32 16 89 | f 33 34 35 90 | f 34 36 35 91 | f 36 34 30 92 | f 10 30 6 93 | f 1 37 12 94 | f 38 8 39 95 | f 27 40 28 96 | f 41 42 43 97 | f 12 44 11 98 | f 8 45 39 99 | f 46 10 11 100 | f 34 33 27 101 | f 34 27 30 102 | f 12 25 47 103 | f 48 1 49 104 | f 19 50 20 105 | f 51 52 12 106 | f 1 53 2 107 | f 53 1 48 108 | f 54 55 56 109 | f 57 24 55 110 | f 1 58 5 111 | f 1 59 58 112 | f 7 60 8 113 | f 9 49 1 114 | f 15 14 32 115 | f 61 20 62 116 | f 28 7 6 117 | f 46 29 10 118 | f 63 32 52 119 | f 29 36 30 120 | f 47 44 12 121 | f 44 46 11 122 | f 33 40 27 123 | f 52 26 12 124 | f 64 59 1 125 | f 65 16 66 126 | f 63 16 32 127 | f 67 37 1 128 | f 37 51 12 129 | f 51 63 52 130 | f 68 59 64 131 | f 57 22 24 132 | f 18 31 16 133 | f 19 69 50 134 | f 13 54 56 135 | f 54 57 55 136 | f 31 15 32 137 | f 70 61 62 138 | f 71 65 66 139 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/GM.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | using System; 5 | using UnityEngine; 6 | 7 | namespace Helpers 8 | { 9 | //SOURCE: http://stackoverflow.com/questions/12896139/geographic-coordinates-converter 10 | public static class GM 11 | { 12 | private const int TileSize = 256; 13 | private const int EarthRadius = 6378137; 14 | private const double InitialResolution = 2 * Math.PI * EarthRadius / TileSize; 15 | private const double OriginShift = 2 * Math.PI * EarthRadius / 2; 16 | 17 | public static Vector2 LatLonToMeters(Vector2 v) 18 | { 19 | return LatLonToMeters(v.x, v.y); 20 | } 21 | 22 | /// 23 | /// Converts given lat/lon in WGS84 Datum to XY in Spherical Mercator EPSG:900913 24 | /// 25 | /// 26 | /// 27 | /// 28 | public static Vector2 LatLonToMeters(double lat, double lon) 29 | { 30 | var p = new Vector2(); 31 | p.x = (float)(lon * OriginShift / 180); 32 | p.y = (float)(Math.Log(Math.Tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180)); 33 | p.y = (float)(p.y * OriginShift / 180); 34 | return new Vector2(p.x, p.y); 35 | } 36 | 37 | /// 38 | /// Converts EPSG:900913 to pyramid pixel coordinates in given zoom level 39 | /// 40 | /// 41 | /// 42 | /// 43 | public static Vector2 MetersToPixels(Vector2 m, int zoom) 44 | { 45 | var res = Resolution(zoom); 46 | var pix = new Vector2(); 47 | pix.x = (float)((m.x + OriginShift) / res); 48 | pix.y = (float)((-m.y + OriginShift) / res); 49 | return pix; 50 | } 51 | 52 | /// 53 | /// Converts pixel coordinates in given zoom level of pyramid to EPSG:900913 54 | /// 55 | /// 56 | /// 57 | /// 58 | public static Vector2 PixelsToMeters(Vector2 p, int zoom) 59 | { 60 | var res = Resolution(zoom); 61 | var met = new Vector2(); 62 | met.x = (float)(p.x * res - OriginShift); 63 | met.y = (float)-(p.y * res - OriginShift); 64 | return met; 65 | } 66 | 67 | /// 68 | /// Returns a TMS (NOT Google!) tile covering region in given pixel coordinates 69 | /// 70 | /// 71 | /// 72 | public static Vector2 PixelsToTile(Vector2 p) 73 | { 74 | var t = new Vector2(); 75 | t.x = (int)Math.Ceiling(p.x / (double)TileSize) - 1; 76 | t.y = (int)Math.Ceiling(p.y / (double)TileSize) - 1; 77 | return t; 78 | } 79 | 80 | public static Vector2 PixelsToRaster(Vector2 p, int zoom) 81 | { 82 | var mapSize = TileSize << zoom; 83 | return new Vector2(p.x, mapSize - p.y); 84 | } 85 | 86 | /// 87 | /// Returns tile for given mercator coordinates 88 | /// 89 | /// 90 | /// 91 | /// 92 | public static Vector2 MetersToTile(Vector2 m, int zoom) 93 | { 94 | var p = MetersToPixels(m, zoom); 95 | return PixelsToTile(p); 96 | } 97 | 98 | /// 99 | /// Returns bounds of the given tile in EPSG:900913 coordinates 100 | /// 101 | /// 102 | /// 103 | /// 104 | public static Rect TileBounds(Vector2Int t, int zoom) 105 | { 106 | var min = PixelsToMeters(new Vector2(t.x * TileSize, t.y * TileSize), zoom); 107 | var max = PixelsToMeters(new Vector2((t.x + 1) * TileSize, (t.y + 1) * TileSize), zoom); 108 | return new Rect(min, max - min); 109 | } 110 | /// 111 | /// Converts meters to a Latitude (y) and Longitude (x). 112 | /// 113 | /// 114 | /// 115 | public static Vector2 MetersToLatLon(Vector2 m) 116 | { 117 | var ll = new Vector2(); 118 | ll.x = (float)(m.x / OriginShift) * 180; 119 | ll.y = (float)(m.y / OriginShift) * 180; 120 | ll.y = (float)(180 / Math.PI * (2 * Math.Atan(Math.Exp(ll.y * Math.PI / 180)) - Math.PI / 2)); 121 | return ll; 122 | } 123 | 124 | //Returns bounds of the given tile in latutude/longitude using WGS84 datum 125 | //public static RectD TileLatLonBounds(Vector2d t, int zoom) 126 | //{ 127 | // var bound = TileBounds(t, zoom); 128 | // var min = MetersToLatLon(new Vector2d(bound.Min.x, bound.Min.y)); 129 | // var max = MetersToLatLon(new Vector2d(bound.Min.x + bound.Size.x, bound.Min.y + bound.Size.y)); 130 | // return new RectD(min.x, min.y, Math.Abs(max.x - min.x), Math.Abs(max.y - min.y)); 131 | //} 132 | 133 | /// 134 | /// Resolution (meters/pixel) for given zoom level (measured at Equator) 135 | /// 136 | /// 137 | /// 138 | public static double Resolution(int zoom) 139 | { 140 | return InitialResolution / (Math.Pow(2, zoom)); 141 | } 142 | 143 | public static double ZoomForPixelSize(double pixelSize) 144 | { 145 | for (var i = 0; i < 30; i++) 146 | if (pixelSize > Resolution(i)) 147 | return i != 0 ? i - 1 : 0; 148 | throw new InvalidOperationException(); 149 | } 150 | 151 | // Switch to Google Tile representation from TMS 152 | public static Vector2 ToGoogleTile(Vector2 t, int zoom) 153 | { 154 | return new Vector2(t.x, ((int)Math.Pow(2, zoom) - 1) - t.y); 155 | } 156 | 157 | // Switch to TMS Tile representation from Google 158 | public static Vector2 ToTmsTile(Vector2 t, int zoom) 159 | { 160 | return new Vector2(t.x, ((int)Math.Pow(2, zoom) - 1) - t.y); 161 | } 162 | } 163 | } 164 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 4 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 4 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | excludedTargetPlatforms: [] 44 | - serializedVersion: 2 45 | name: Low 46 | pixelLightCount: 0 47 | shadows: 0 48 | shadowResolution: 0 49 | shadowProjection: 1 50 | shadowCascades: 1 51 | shadowDistance: 20 52 | shadowNearPlaneOffset: 3 53 | shadowCascade2Split: 0.33333334 54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 55 | shadowmaskMode: 0 56 | blendWeights: 2 57 | textureQuality: 0 58 | anisotropicTextures: 0 59 | antiAliasing: 0 60 | softParticles: 0 61 | softVegetation: 0 62 | realtimeReflectionProbes: 0 63 | billboardsFaceCameraPosition: 0 64 | vSyncCount: 0 65 | lodBias: 0.4 66 | maximumLODLevel: 0 67 | streamingMipmapsActive: 0 68 | streamingMipmapsAddAllCameras: 1 69 | streamingMipmapsMemoryBudget: 512 70 | streamingMipmapsRenderersPerFrame: 512 71 | streamingMipmapsMaxLevelReduction: 2 72 | streamingMipmapsMaxFileIORequests: 1024 73 | particleRaycastBudget: 16 74 | asyncUploadTimeSlice: 2 75 | asyncUploadBufferSize: 4 76 | asyncUploadPersistentBuffer: 1 77 | resolutionScalingFixedDPIFactor: 1 78 | excludedTargetPlatforms: [] 79 | - serializedVersion: 2 80 | name: Medium 81 | pixelLightCount: 1 82 | shadows: 1 83 | shadowResolution: 0 84 | shadowProjection: 1 85 | shadowCascades: 1 86 | shadowDistance: 20 87 | shadowNearPlaneOffset: 3 88 | shadowCascade2Split: 0.33333334 89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 90 | shadowmaskMode: 0 91 | blendWeights: 2 92 | textureQuality: 0 93 | anisotropicTextures: 1 94 | antiAliasing: 0 95 | softParticles: 0 96 | softVegetation: 0 97 | realtimeReflectionProbes: 0 98 | billboardsFaceCameraPosition: 0 99 | vSyncCount: 1 100 | lodBias: 0.7 101 | maximumLODLevel: 0 102 | streamingMipmapsActive: 0 103 | streamingMipmapsAddAllCameras: 1 104 | streamingMipmapsMemoryBudget: 512 105 | streamingMipmapsRenderersPerFrame: 512 106 | streamingMipmapsMaxLevelReduction: 2 107 | streamingMipmapsMaxFileIORequests: 1024 108 | particleRaycastBudget: 64 109 | asyncUploadTimeSlice: 2 110 | asyncUploadBufferSize: 4 111 | asyncUploadPersistentBuffer: 1 112 | resolutionScalingFixedDPIFactor: 1 113 | excludedTargetPlatforms: [] 114 | - serializedVersion: 2 115 | name: High 116 | pixelLightCount: 2 117 | shadows: 2 118 | shadowResolution: 1 119 | shadowProjection: 1 120 | shadowCascades: 2 121 | shadowDistance: 40 122 | shadowNearPlaneOffset: 3 123 | shadowCascade2Split: 0.33333334 124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 125 | shadowmaskMode: 1 126 | blendWeights: 2 127 | textureQuality: 0 128 | anisotropicTextures: 1 129 | antiAliasing: 0 130 | softParticles: 0 131 | softVegetation: 1 132 | realtimeReflectionProbes: 1 133 | billboardsFaceCameraPosition: 1 134 | vSyncCount: 1 135 | lodBias: 1 136 | maximumLODLevel: 0 137 | streamingMipmapsActive: 0 138 | streamingMipmapsAddAllCameras: 1 139 | streamingMipmapsMemoryBudget: 512 140 | streamingMipmapsRenderersPerFrame: 512 141 | streamingMipmapsMaxLevelReduction: 2 142 | streamingMipmapsMaxFileIORequests: 1024 143 | particleRaycastBudget: 256 144 | asyncUploadTimeSlice: 2 145 | asyncUploadBufferSize: 4 146 | asyncUploadPersistentBuffer: 1 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Very High 151 | pixelLightCount: 3 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 2 156 | shadowDistance: 70 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 2 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 1.5 171 | maximumLODLevel: 0 172 | streamingMipmapsActive: 0 173 | streamingMipmapsAddAllCameras: 1 174 | streamingMipmapsMemoryBudget: 512 175 | streamingMipmapsRenderersPerFrame: 512 176 | streamingMipmapsMaxLevelReduction: 2 177 | streamingMipmapsMaxFileIORequests: 1024 178 | particleRaycastBudget: 1024 179 | asyncUploadTimeSlice: 2 180 | asyncUploadBufferSize: 4 181 | asyncUploadPersistentBuffer: 1 182 | resolutionScalingFixedDPIFactor: 1 183 | excludedTargetPlatforms: [] 184 | - serializedVersion: 2 185 | name: Ultra 186 | pixelLightCount: 4 187 | shadows: 2 188 | shadowResolution: 2 189 | shadowProjection: 1 190 | shadowCascades: 4 191 | shadowDistance: 150 192 | shadowNearPlaneOffset: 3 193 | shadowCascade2Split: 0.33333334 194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 195 | shadowmaskMode: 1 196 | blendWeights: 4 197 | textureQuality: 0 198 | anisotropicTextures: 2 199 | antiAliasing: 2 200 | softParticles: 1 201 | softVegetation: 1 202 | realtimeReflectionProbes: 1 203 | billboardsFaceCameraPosition: 1 204 | vSyncCount: 1 205 | lodBias: 2 206 | maximumLODLevel: 0 207 | streamingMipmapsActive: 0 208 | streamingMipmapsAddAllCameras: 1 209 | streamingMipmapsMemoryBudget: 512 210 | streamingMipmapsRenderersPerFrame: 512 211 | streamingMipmapsMaxLevelReduction: 2 212 | streamingMipmapsMaxFileIORequests: 1024 213 | particleRaycastBudget: 4096 214 | asyncUploadTimeSlice: 2 215 | asyncUploadBufferSize: 4 216 | asyncUploadPersistentBuffer: 1 217 | resolutionScalingFixedDPIFactor: 1 218 | excludedTargetPlatforms: [] 219 | m_PerPlatformDefaultQuality: 220 | Android: 2 221 | Lumin: 5 222 | Nintendo 3DS: 5 223 | Nintendo Switch: 5 224 | PS4: 5 225 | PSP2: 2 226 | Standalone: 5 227 | WebGL: 3 228 | Windows Store Apps: 5 229 | XboxOne: 5 230 | iPhone: 2 231 | tvOS: 2 232 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/HeightMesh/QuantizedMeshFormatDecoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using UnityEngine; 6 | 7 | 8 | public class QuantizedMeshFormatDecoder 9 | { 10 | public enum SizePerStruct 11 | { 12 | StructSize_32bit, 13 | StructSize_16bit, 14 | } 15 | 16 | public struct NormilizedVertexData 17 | { 18 | public float u; 19 | public float v; 20 | public float height; 21 | } 22 | 23 | public struct VertexData 24 | { 25 | /* The horizontal coordinate of the vertex in the tile. 26 | * When the u value is 0, the vertex is on the Western edge of the tile. 27 | * When the value is 32767, the vertex is on the Eastern edge of the tile. 28 | * For other values, the vertex's longitude is a linear interpolation between the longitudes of the Western and Eastern edges of the tile. */ 29 | public int u; 30 | /* 31 | * The vertical coordinate of the vertex in the tile. 32 | * When the v value is 0, the vertex is on the Southern edge of the tile. 33 | * When the value is 32767, the vertex is on the Northern edge of the tile. 34 | * For other values, the vertex's latitude is a linear interpolation between the latitudes of the Southern and Nothern edges of the tile. */ 35 | public int v; 36 | /* The height of the vertex in the tile. 37 | * When the height value is 0, the vertex's height is equal to the minimum height within the tile, as specified in the tile's header. 38 | * When the value is 32767, the vertex's height is equal to the maximum height within the tile. 39 | * For other values, the vertex's height is a linear interpolation between the minimum and maximum heights. */ 40 | public int height; 41 | } 42 | 43 | // The center of the tile in Earth-centered Fixed coordinates. 44 | public double CenterX { get; private set; } 45 | public double CenterY { get; private set; } 46 | public double CenterZ { get; private set; } 47 | 48 | // The minimum and maximum heights in the area covered by this tile. 49 | // The minimum may be lower and the maximum may be higher than 50 | // the height of any vertex in this tile in the case that the min/max vertex 51 | // was removed during mesh simplification, but these are the appropriate 52 | // values to use for analysis or visualization. 53 | public float MinimumHeight { get; private set; } 54 | public float MaximumHeight { get; private set; } 55 | 56 | // The tile’s bounding sphere. The X,Y,Z coordinates are again expressed 57 | // in Earth-centered Fixed coordinates, and the radius is in meters. 58 | public double BoundingSphereCenterX { get; private set; } 59 | public double BoundingSphereCenterY { get; private set; } 60 | public double BoundingSphereCenterZ { get; private set; } 61 | public double BoundingSphereRadius { get; private set; } 62 | 63 | // The horizon occlusion point, expressed in the ellipsoid-scaled Earth-centered Fixed frame. 64 | // If this point is below the horizon, the entire tile is below the horizon. 65 | // See http://cesiumjs.org/2013/04/25/Horizon-culling/ for more information. 66 | public double HorizonOcclusionPointX { get; private set; } 67 | public double HorizonOcclusionPointY { get; private set; } 68 | public double HorizonOcclusionPointZ { get; private set; } 69 | 70 | private VertexData[] mVertexList = null; 71 | public VertexData[] VertexList { get { return mVertexList; } } 72 | 73 | // counter-clockwise winding order 74 | private uint[] mTriangleIndices = null; 75 | public uint[] TriangleIndices { get { return mTriangleIndices; } } 76 | 77 | private uint[] mWestIndices = null; 78 | public uint[] WestIndices { get { return mWestIndices; } } 79 | private uint[] mSouthIndices = null; 80 | public uint[] SouthIndices { get { return mSouthIndices; } } 81 | private uint[] mEastIndices = null; 82 | public uint[] EastIndices { get { return mEastIndices; } } 83 | private uint[] mNorthIndices = null; 84 | public uint[] NorthIndices { get { return mNorthIndices; } } 85 | 86 | public QuantizedMeshFormatDecoder(FileInfo pTerrainFile, bool pIsGzipped) 87 | { 88 | using (var inputStream = File.OpenRead(pTerrainFile.FullName)) 89 | { 90 | DecodeFile(inputStream, pIsGzipped); 91 | } 92 | } 93 | 94 | public QuantizedMeshFormatDecoder(Stream pStream, bool pIsGzipped) 95 | { 96 | DecodeFile(pStream, pIsGzipped); 97 | } 98 | 99 | public void DecodeFile(Stream pInputStream, bool pIsGzipped) 100 | { 101 | if (pInputStream == null) throw new ArgumentNullException("pInputStream"); 102 | using (var quantizedMeshStream = new QuantizedMeshStream(pInputStream, pIsGzipped)) 103 | { 104 | // Read Header 105 | CenterX = quantizedMeshStream.ReadDouble(); 106 | CenterY = quantizedMeshStream.ReadDouble(); 107 | CenterZ = quantizedMeshStream.ReadDouble(); 108 | MinimumHeight = quantizedMeshStream.ReadFloat(); 109 | MaximumHeight = quantizedMeshStream.ReadFloat(); 110 | BoundingSphereCenterX = quantizedMeshStream.ReadDouble(); 111 | BoundingSphereCenterY = quantizedMeshStream.ReadDouble(); 112 | BoundingSphereCenterZ = quantizedMeshStream.ReadDouble(); 113 | BoundingSphereRadius = quantizedMeshStream.ReadDouble(); 114 | HorizonOcclusionPointX = quantizedMeshStream.ReadDouble(); 115 | HorizonOcclusionPointY = quantizedMeshStream.ReadDouble(); 116 | HorizonOcclusionPointZ = quantizedMeshStream.ReadDouble(); 117 | 118 | // Read Vertex Data 119 | getVertexList(quantizedMeshStream, ref mVertexList); 120 | 121 | // Read Index data (traingle indices) 122 | SizePerStruct structSize = (mVertexList.Length > 65536) ? SizePerStruct.StructSize_32bit : SizePerStruct.StructSize_16bit; 123 | GetIndices(quantizedMeshStream, ref mTriangleIndices, structSize); 124 | 125 | // Read edge indices 126 | getEdgeIndices(quantizedMeshStream, ref mWestIndices, structSize); 127 | getEdgeIndices(quantizedMeshStream, ref mSouthIndices, structSize); 128 | getEdgeIndices(quantizedMeshStream, ref mEastIndices, structSize); 129 | getEdgeIndices(quantizedMeshStream, ref mNorthIndices, structSize); 130 | } 131 | } 132 | 133 | // Normalize between 0..1 (for vertex u, v and height) 134 | public static double Normalize(int pValue) 135 | { 136 | return (float)pValue / 32767.0; 137 | } 138 | 139 | public float GetHeightInMeter(int pVertexIndex /* start at zero*/) 140 | { 141 | if ((mVertexList != null) && (pVertexIndex < mVertexList.Length)) 142 | { 143 | float delta = MaximumHeight - MinimumHeight; 144 | return (float)(MinimumHeight + (Normalize(mVertexList[pVertexIndex].height) * delta)); 145 | } 146 | return float.MinValue; 147 | } 148 | 149 | private static void GetIndices(QuantizedMeshStream pStream, ref uint[] pTriangleIndices, SizePerStruct pSizePerStruct) 150 | { 151 | byte bytesInStruct = (pSizePerStruct == SizePerStruct.StructSize_32bit) ? (byte)4 : (byte)2; 152 | var alignment = pStream.GetPosition() % bytesInStruct; 153 | if (alignment != 0) 154 | { 155 | pStream.ReadPadding((byte)(bytesInStruct - alignment)); 156 | } 157 | 158 | 159 | uint triangleCount = pStream.ReadUnsigned32Bit(); 160 | pTriangleIndices = new uint[triangleCount * 3]; /* 3 indices for 1 triangle */ 161 | for (int index = 0; index < pTriangleIndices.Length; index++) 162 | { 163 | pTriangleIndices[index] = (pSizePerStruct == SizePerStruct.StructSize_32bit) ? pStream.ReadUnsigned32Bit() : pStream.ReadUnsigned16Bit(); 164 | } 165 | 166 | 167 | // Decompress values 168 | uint highest = 0; 169 | for (var i = 0; i < pTriangleIndices.Length; ++i) 170 | { 171 | uint code = pTriangleIndices[i]; 172 | pTriangleIndices[i] = highest - code; 173 | if (code == 0) { ++highest; } 174 | } 175 | 176 | } 177 | 178 | private static void getEdgeIndices(QuantizedMeshStream pStream, ref uint[] pEdgeIndices, SizePerStruct pSizePerStruct) 179 | { 180 | uint triangleCount = pStream.ReadUnsigned32Bit(); 181 | pEdgeIndices = new uint[triangleCount]; 182 | for (int index = 0; index < pEdgeIndices.Length; index++) 183 | { 184 | pEdgeIndices[index] = (pSizePerStruct == SizePerStruct.StructSize_32bit) ? pStream.ReadUnsigned32Bit() : pStream.ReadUnsigned16Bit(); 185 | } 186 | } 187 | 188 | private static void getVertexList(QuantizedMeshStream pStream, ref VertexData[] pVertexList) 189 | { 190 | uint numberOfVertex = pStream.ReadUnsigned32Bit(); 191 | pVertexList = new VertexData[numberOfVertex]; 192 | 193 | for (int index = 0; index < numberOfVertex; index++) pVertexList[index].u = pStream.ReadUnsigned16Bit(); 194 | for (int index = 0; index < numberOfVertex; index++) pVertexList[index].v = pStream.ReadUnsigned16Bit(); 195 | for (int index = 0; index < numberOfVertex; index++) pVertexList[index].height = pStream.ReadUnsigned16Bit(); 196 | 197 | // Apply ZigZag (data is compressed) 198 | var u = 0; 199 | var v = 0; 200 | var height = 0; 201 | for (int index = 0; index < numberOfVertex; ++index) 202 | { 203 | u += ZigZagDecode((ushort)pVertexList[index].u); 204 | v += ZigZagDecode((ushort)pVertexList[index].v); 205 | height += ZigZagDecode((ushort)pVertexList[index].height); 206 | 207 | pVertexList[index].u = u; 208 | pVertexList[index].v = v; 209 | pVertexList[index].height = height; 210 | } 211 | } 212 | 213 | private static int ZigZagDecode(ushort pValue) 214 | { 215 | return ((pValue >> 1) ^ (-(pValue & 1))); 216 | } 217 | } 218 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4203/5485.obj: -------------------------------------------------------------------------------- 1 | v 0.020945197920042062 0.998665017952374057 0.509415044936131878 2 | v 0.023615162015322533 1.000000000000000000 0.339291007059660588 3 | v 0.022280179967681821 1.000000000000000000 0.503391501905847805 4 | v 0.007676368721744015 0.978761774154968678 0.448170850515256181 5 | v 0.004359161422172477 0.975444566855432793 0.483231194818634024 6 | v 0.010993576021315551 0.975444566855432793 0.153463326364756458 7 | v 0.014310783320887090 0.972127359555897019 0.023769729910444980 8 | v 0.004359161422172477 0.968810152256170731 0.240705665630812332 9 | v 0.000000000000000000 0.936225281529649234 0.015267087924491234 10 | v 0.131637559919571850 1.000000000000000000 0.015276242628365464 11 | v 0.004359161422172477 0.962175737657099073 0.131847727359248851 12 | v 0.091064008946631469 1.000000000000000000 0.111402980761842213 13 | v 0.010993576021315551 0.978761774154968678 0.183584029523088638 14 | v 0.014310783320887090 0.982078981454504452 0.142729806020444439 15 | v 0.017627990620470525 0.978761774154968678 0.057381616451155922 16 | v 0.001041954122600940 0.962175737657099073 0.308523682356621753 17 | v 0.001041954122600940 0.958858530357563188 0.126165276989134878 18 | v 0.000000000000000000 0.968810152256170731 0.414382381282644874 19 | v 0.017627990620470525 0.992030603353302398 0.416267411719588032 20 | v 0.024262405219613599 0.985396188754040336 0.020129991358828127 21 | v 0.020945197920042062 0.995347810652838283 0.317214496728064010 22 | v 0.023615162015322533 1.000000000000000000 0.339291007059660532 23 | v 0.004359161422172477 0.985396188754040336 0.008913649592684474 24 | v 0.001041954122600940 0.978761774154968678 0.110776850541446092 25 | v 0.004359161422172477 0.982078981454504452 0.119665737733962885 26 | v 0.004359161422172477 0.978761774154968678 0.423064072381879652 27 | v 0.528379207951961249 1.000000000000000000 0.025113451761979051 28 | v 0.695742130159066829 0.000000000000000000 0.080299090791149913 29 | v 0.679805875178992269 1.000000000000000000 0.216772619851797965 30 | v 0.000000000000000000 0.957453312783089316 0.119080849324963337 31 | v 0.007676368721744015 0.982078981454504452 0.478068708675044418 32 | v 0.010993576021315551 0.982078981454504452 0.447056641018637291 33 | v 0.010993576021315551 0.985396188754040336 0.535078934459003897 34 | v 0.000000000000000000 0.845285492653026771 0.016691259866675863 35 | v 0.504917200944756561 0.000000000000000000 0.030243719022627100 36 | v 0.000000000000000000 0.858763226797572776 0.016247235197450569 37 | v 0.001931942154344117 1.000000000000000000 0.090851121802420540 38 | v 0.001041954122600940 0.998665017952374057 0.068337977873867348 39 | v 0.002376936170202928 1.000000000000000000 0.064989903248225428 40 | v 0.011209323756138563 1.000000000000000000 0.093338199495229757 41 | v 0.014310783320887090 0.995347810652838283 0.129891673149411246 42 | v 0.017627990620470525 0.995347810652838283 0.479034354839300736 43 | v 0.014310783320887090 0.992030603353302398 0.410399268563969799 44 | v 0.017627990620470650 1.000000000000000000 0.161147603221292707 45 | v 0.000000000000000000 0.986485979109634203 0.090208442466668620 46 | v 0.000000000000000000 0.958858530357563077 0.196312661864252835 47 | v 0.000000000000000000 0.957816576234973405 0.122373841514785295 48 | v 0.000000000000000000 0.958858530357563077 0.196312661864252863 49 | v 0.000000000000000000 0.871995876001534498 0.016075546889136236 50 | v 0.656872932185982417 0.000000000000000000 0.031102748533476533 51 | v 0.522511698705815375 1.000000000000000000 0.017687005935303070 52 | v 0.000000000000000000 0.961133783534509289 0.321391230578743192 53 | v 0.000000000000000000 0.962175737657098962 0.319273857563940222 54 | v 0.000000000000000000 0.988302296368874122 0.090604316152830225 55 | v 0.010993576021315551 0.992030603353302398 0.060216651295592317 56 | v 0.017627990620470525 0.985396188754040336 0.033797586324826205 57 | v 0.020945197920042062 0.985396188754040336 0.053927576115596502 58 | v 0.000000000000000000 0.979282751216263625 0.113261698996151433 59 | v 0.000000000000000000 0.979803728277578445 0.126020364582747929 60 | v 0.000000000000000000 0.998665017952374057 0.119248204569812527 61 | v 0.001931942154344117 1.000000000000000000 0.090851121802420526 62 | v 0.014310783320887090 0.988713396053766513 0.498607240711909816 63 | v 0.000000000000000000 0.173804982658515877 0.043458374007896906 64 | v 0.242683253563928364 0.000000000000000000 0.040705200571508074 65 | v 0.000000000000000000 0.185579403564743395 0.043459301600173882 66 | v 0.261373988208805030 0.000000000000000000 0.040494213977918317 67 | v 0.000000000000000000 0.209180740320440567 0.026794828197529517 68 | v 0.000000000000000000 0.195149851034592842 0.043460055562787495 69 | v 0.000000000000000000 0.975444566855432682 0.207305578018442904 70 | v 0.000000000000000000 0.971085405433182003 0.497555805634560033 71 | v 0.000000000000000000 0.964259645902278639 0.370248245777380469 72 | v 0.000000000000000000 0.962696714718393798 0.337437749037520218 73 | v 0.000000000000000000 0.977719820032379006 0.095859982726304652 74 | v 0.017627990620470525 0.988713396053766513 0.052144845459150047 75 | v 0.019610215872401447 1.000000000000000000 0.314748423391639887 76 | v 0.000000000000000000 0.997623063829784162 0.088294537916168661 77 | v 0.000000000000000000 0.988302296368874122 0.090604316152830239 78 | v 0.000000000000000000 0.986485979109634203 0.090208442466668565 79 | v 0.280623451578136174 0.000000000000000000 0.023205119419870385 80 | v 0.000000000000000000 0.605614977028824719 0.108867457908230186 81 | v 0.000000000000000000 0.219116941643206525 0.014993077729874356 82 | v 0.476165912225113230 0.000000000000000000 0.066011925459131260 83 | v 0.000000000000000000 0.841377111431179991 0.019658303454492723 84 | v 0.000000000000000000 0.695202231848636498 0.130626813061742036 85 | v 0.025597387267253528 1.000000000000000000 0.155562592819468465 86 | v 0.000000000000000000 0.975444566855432682 0.207305578018442821 87 | v 0.039989586561381137 1.000000000000000000 0.046907501897441778 88 | v 0.027183167468803397 1.000000000000000000 0.078731109966211923 89 | v 0.030752987995582733 1.000000000000000000 0.098777140033901756 90 | v 0.039989586561381137 1.000000000000000000 0.046907501897441799 91 | v 0.079946355979577763 1.000000000000000000 0.022622123717062903 92 | v 0.042183423765019532 1.000000000000000000 0.061052725696705688 93 | v 0.700972694332397617 0.000000000000000000 0.031905157193162031 94 | v 0.700972694332397617 1.000000000000000000 0.020934158331078635 95 | v 0.681124333671346727 1.000000000000000000 0.204574051854864020 96 | v 0.000000000000000000 0.957721853132909251 0.122998500529029192 97 | v 0.016636877994501167 1.000000000000000000 0.056831023388900531 98 | v 0.011209323756138563 1.000000000000000000 0.093338199495229743 99 | v 0.001218791854334376 0.000000000000000000 0.031532771902656243 100 | v 0.000000000000000000 0.001255510100569605 0.031572955142002708 101 | v 0.000000000000000000 0.000571671417390183 0.031525851496504401 102 | v 0.528379207951961249 1.000000000000000000 0.025113451761979041 103 | v 0.000000000000000000 0.859015129965745250 0.016238936234158591 104 | v 0.507184465032920584 0.000000000000000000 0.030179526891837866 105 | v 0.000000000000000000 0.195149851034592842 0.043460055562787488 106 | v 0.000000000000000000 0.219116941643206525 0.014993077729874354 107 | v 0.000000000000000000 0.000000000000000000 0.031305522797005492 108 | v 0.681124333671346727 1.000000000000000000 0.204574051854863992 109 | v 0.079946355979577763 1.000000000000000000 0.022622123717062907 110 | v 0.016636877994501167 1.000000000000000000 0.056831023388900524 111 | v 0.000000000000000000 0.924194693952644308 0.015418517574144759 112 | v 0.000000000000000000 1.000000000000000000 0.185246461201429902 113 | v 0.000000000000000000 0.999386976859879872 0.154940092217130843 114 | v 0.027183167468803397 1.000000000000000000 0.078731109966211910 115 | v 0.679805875178992269 1.000000000000000000 0.216772619851797993 116 | v 0.000000000000000000 0.957721853132909251 0.122998500529029206 117 | v 0.000000000000000000 0.979803728277578445 0.126020364582747901 118 | v 0.000000000000000000 0.997623063829784162 0.088294537916168675 119 | v 0.000000000000000000 0.858763226797572776 0.016247235197450565 120 | v 0.000000000000000000 0.209180740320440567 0.026794828197529520 121 | v 0.000000000000000000 0.001255510100569605 0.031572955142002701 122 | f 1 2 3 123 | f 4 5 6 124 | f 7 6 8 125 | f 9 10 11 126 | f 12 7 11 127 | f 7 8 11 128 | f 5 8 6 129 | f 13 4 6 130 | f 14 13 15 131 | f 16 17 11 132 | f 5 18 8 133 | f 19 20 21 134 | f 22 1 21 135 | f 23 24 25 136 | f 24 26 25 137 | f 27 28 29 138 | f 17 30 11 139 | f 16 11 8 140 | f 31 4 32 141 | f 14 32 13 142 | f 33 31 32 143 | f 33 23 31 144 | f 34 35 36 145 | f 37 38 39 146 | f 40 38 41 147 | f 42 41 43 148 | f 42 44 41 149 | f 45 24 23 150 | f 17 46 47 151 | f 48 17 16 152 | f 49 50 51 153 | f 52 16 53 154 | f 13 6 15 155 | f 4 13 32 156 | f 14 33 32 157 | f 7 15 6 158 | f 54 23 38 159 | f 19 42 43 160 | f 55 43 41 161 | f 56 15 57 162 | f 15 20 57 163 | f 58 24 59 164 | f 60 38 61 165 | f 33 56 62 166 | f 56 33 14 167 | f 63 64 65 168 | f 66 67 68 169 | f 5 69 70 170 | f 16 71 72 171 | f 73 24 58 172 | f 55 33 62 173 | f 74 62 56 174 | f 62 19 43 175 | f 74 56 57 176 | f 20 19 74 177 | f 1 42 21 178 | f 55 41 38 179 | f 75 42 1 180 | f 38 60 76 181 | f 23 77 78 182 | f 79 80 81 183 | f 82 83 84 184 | f 33 55 23 185 | f 1 3 75 186 | f 20 85 21 187 | f 55 62 43 188 | f 19 21 42 189 | f 18 16 8 190 | f 31 23 25 191 | f 7 20 15 192 | f 86 5 24 193 | f 26 24 5 194 | f 26 31 25 195 | f 16 72 53 196 | f 87 20 7 197 | f 15 56 14 198 | f 4 31 26 199 | f 20 74 57 200 | f 38 23 55 201 | f 74 19 62 202 | f 88 20 89 203 | f 20 90 89 204 | f 7 91 92 205 | f 93 94 95 206 | f 17 47 96 207 | f 41 97 98 208 | f 26 5 4 209 | f 99 100 101 210 | f 102 50 28 211 | f 103 35 104 212 | f 49 104 50 213 | f 105 64 66 214 | f 106 66 79 215 | f 84 79 82 216 | f 34 82 35 217 | f 107 99 101 218 | f 108 28 93 219 | f 63 99 64 220 | f 10 12 11 221 | f 12 109 7 222 | f 85 22 21 223 | f 40 39 38 224 | f 44 110 41 225 | f 111 51 10 226 | f 61 112 113 227 | f 75 44 42 228 | f 114 85 20 229 | f 92 87 7 230 | f 102 51 50 231 | f 108 115 28 232 | f 30 9 11 233 | f 70 18 5 234 | f 116 30 17 235 | f 45 117 24 236 | f 52 48 16 237 | f 111 49 51 238 | f 118 54 38 239 | f 113 60 61 240 | f 18 71 16 241 | f 73 86 24 242 | f 103 119 35 243 | f 49 103 104 244 | f 105 65 64 245 | f 106 120 66 246 | f 84 80 79 247 | f 34 83 82 248 | f 63 121 99 249 | f 9 111 10 250 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5484.obj: -------------------------------------------------------------------------------- 1 | v 0.486598821046626107 0.900669401793826374 0.107667510863257154 2 | v 0.489916028346197630 0.897352194494290600 0.449181911038352977 3 | v 0.489916028346197630 0.900669401793826374 0.409769514093299758 4 | v 0.493233235645769208 0.900669401793826374 0.461901370590205584 5 | v 0.479964406447483005 0.900669401793826374 0.296966454716220907 6 | v 0.479964406447483005 0.890717779895218831 0.424877601605860800 7 | v 0.483281613747054584 0.897352194494290600 0.382957146725798281 8 | v 0.486598821046626107 0.897352194494290600 0.449361059559140685 9 | v 0.997448745180797514 0.711588585718189282 0.139794584163709101 10 | v 1.000000000000000000 0.712304727421827488 0.138179879773798864 11 | v 1.000000000000000000 0.714139840537532655 0.158670672975559007 12 | v 0.990814330581654468 0.708271378418653397 0.146303598738009133 13 | v 0.994131537881225991 0.714905793017915459 0.000000000000000000 14 | v 0.808394016095740131 0.000000000000000000 0.236853504558822175 15 | v 0.987497123282082945 0.708271378418653397 0.007106172454311269 16 | v 0.796072426412178791 0.000000000000000000 0.237839970011881729 17 | v 0.787868510832032687 0.000000000000000000 0.056580778205763134 18 | v 0.728964604923904691 0.000000000000000000 0.009093842723279850 19 | v 0.808394016095740131 0.000000000000000000 0.236853504558822120 20 | v 1.000000000000000000 0.714905793017906355 0.145364736247305060 21 | v 0.742023783113705870 0.980282376983638515 0.047832319582858294 22 | v 0.751975405012432430 0.986916791582710173 0.143914968107798413 23 | v 0.785596403793945020 1.000000000000000000 0.063713538990502139 24 | v 1.000000000000000000 0.791024342938381309 0.234759732203020627 25 | v 0.791910462480075350 1.000000000000000000 0.176938219539912039 26 | v 1.000000000000000000 0.799655757599837314 0.233362206220637969 27 | v 0.804727763736513668 1.000000000000000000 0.087517167428804749 28 | v 0.792451338130343741 1.000000000000000000 0.177000564854153719 29 | v 0.830942371308837413 1.000000000000000000 0.014101169715642917 30 | v 1.000000000000000000 0.906845796435422624 0.032671781552342509 31 | v 1.000000000000000000 0.935598960119058520 0.004764875962380291 32 | v 1.000000000000000000 0.805236342586606701 0.024959556987264028 33 | v 0.804727763736513668 1.000000000000000000 0.087517167428804776 34 | v 0.440157918852612684 0.900669401793826374 0.519109061503616909 35 | v 0.430206296953898060 0.894034987194754716 0.078645650708323384 36 | v 0.436840711553041161 0.897352194494290600 0.468470111719499482 37 | v 0.433523504253469583 0.894034987194754716 0.546220014484879668 38 | v 0.470012784548768436 0.907303816393088436 0.033739400644283137 39 | v 0.493233235645769208 0.903986609093552551 0.191090419272665596 40 | v 0.503184857544483832 0.907303816393088436 0.401230167710032559 41 | v 0.470012784548768436 0.894034987194754716 0.291651748783270437 42 | v 0.473329991848339959 0.894034987194754716 0.461961074899346791 43 | v 0.470012784548768436 0.897352194494290600 0.444344936570449323 44 | v 0.470012784548768436 0.903986609093552551 0.011047414106451624 45 | v 0.453426748050898831 0.903986609093552551 0.485309958774777839 46 | v 0.460061162650041933 0.900669401793826374 0.343903035699394177 47 | v 0.443475126152184207 0.900669401793826374 0.098351840727425990 48 | v 0.506502064844055355 0.857545706899479732 0.227218445653071893 49 | v 0.503184857544483832 0.864180121498551390 0.396273749030482347 50 | v 0.499867650244912254 0.864180121498551390 0.312134255436264163 51 | v 0.496550442945340731 0.867497328798087164 0.023687248336432376 52 | v 0.499867650244912254 0.867497328798087164 0.463931701509338656 53 | v 0.476647199147911482 0.890717779895218831 0.299713375269334170 54 | v 0.426889089654314657 0.887400572595683057 0.170309343912758454 55 | v 0.496550442945340731 0.903986609093552551 0.439328813581757904 56 | v 0.493233235645769208 0.897352194494290600 0.167442978258164510 57 | v 1.000000000000000000 0.655665247494891301 0.148027947270193722 58 | v 1.000000000000000000 0.698968694103260790 0.144315081041444582 59 | v 0.771299284147985875 1.000000000000000000 0.045659005309467704 60 | v 0.760113739277080258 1.000000000000000000 0.213447992162765721 61 | v 0.751975405012432430 0.990233998882436350 0.279111442201376014 62 | v 0.761741406130102328 1.000000000000000000 0.329040268267326630 63 | v 0.762441971746260605 1.000000000000000000 0.304069589299154175 64 | v 0.765058613429716927 1.000000000000000000 0.066852334070649125 65 | v 0.821379473886395095 1.000000000000000000 0.014710763831093869 66 | v 1.000000000000000000 0.872980959208024654 0.043340566311483593 67 | v 1.000000000000000000 0.894258195539632816 0.059219934140612399 68 | v 1.000000000000000000 1.000000000000000000 0.011337628174747798 69 | v 0.844852040286931838 1.000000000000000000 0.008190185605137380 70 | v 1.000000000000000000 0.701025539809152498 0.146504905007725700 71 | v 1.000000000000000000 0.709534745360592911 0.139882683531122570 72 | v 0.513136479443210280 0.854228499599943847 0.052729010372663580 73 | v 1.000000000000000000 0.720322834973698423 0.035991750120001935 74 | v 0.811278198404167483 1.000000000000000000 0.009947111030565253 75 | v 1.000000000000000000 0.806376333427539116 0.014182750058919856 76 | v 1.000000000000000000 0.789207866516109857 0.234218507310324592 77 | v 0.390399809359027739 0.860862914199015505 0.009136506042946609 78 | v 0.403668638557313886 0.870814536097813452 0.175026872389347415 79 | v 0.380448187460301235 0.854228499599943847 0.189060084794196143 80 | v 0.506502064844055355 0.907303816393088436 0.019168755579665828 81 | v 0.622525970734567169 0.000000000000000000 0.038489205652309788 82 | v 0.772344495837317790 1.000000000000000000 0.049292988441605207 83 | v 0.785510890721959454 1.000000000000000000 0.063620484799272042 84 | v 0.469872166560742099 1.000000000000000000 0.330805826831205185 85 | v 0.450109540751327308 0.907303816393088436 0.025797213475778319 86 | v 0.422635010296514235 1.000000000000000000 0.318568679092717466 87 | v 0.443475126152184207 0.903986609093552551 0.387973267044987413 88 | v 0.720073976359638546 1.000000000000000000 0.049560204176513016 89 | v 0.377130980160729656 0.854228499599943847 0.541920499816684775 90 | v 0.363212796867863563 0.000000000000000000 0.734939935880382089 91 | v 0.621991266691020783 0.000000000000000000 0.095367137503104549 92 | v 0.413620260456028510 0.877448950696885110 0.028902431070467020 93 | v 0.450109540751327308 0.903986609093552551 0.446255844633954291 94 | v 0.383765394759872758 0.860862914199015505 0.119013495456290377 95 | v 0.369032563471837660 1.000000000000000000 0.400544319842656704 96 | v 0.350593321764157362 1.000000000000000000 0.209632771129518336 97 | v 0.350593321764157362 0.000000000000000000 0.604283612036436546 98 | v 0.393717016658599261 0.864180121498551390 0.298578784284637355 99 | v 0.400351431257742307 0.870814536097813452 0.514092945633598308 100 | v 0.373967008435861226 1.000000000000000000 0.107089617863250330 101 | v 0.406985845856885409 0.877448950696885110 0.111369886337957066 102 | v 0.387082602059444281 0.860862914199015505 0.527110969443193800 103 | v 0.410303053156456932 0.877448950696885110 0.546100591629251730 104 | v 0.416937467755600033 0.880766157996420995 0.331422443659733168 105 | v 0.423571882354743079 0.887400572595683057 0.543711949431197605 106 | v 0.391778781344818861 1.000000000000000000 0.102545320132876011 107 | v 0.446792333451755785 0.903986609093552551 0.505314714386374431 108 | v 0.443941982909316912 1.000000000000000000 0.043543011466941055 109 | v 0.791967513388382893 1.000000000000000000 0.177961265284229009 110 | v 1.000000000000000000 0.791967513388392330 0.251340128592204337 111 | v 1.000000000000000000 0.797574777605853824 0.249661446078657090 112 | v 1.000000000000000000 0.805236342586606701 0.024959556987264035 113 | v 0.811158992151018166 1.000000000000000000 0.011100612102653637 114 | v 0.805236342586597820 1.000000000000000000 0.068411218230085696 115 | v 0.643914132476431145 0.000000000000000000 0.016513860076639693 116 | v 0.826802216832297709 1.000000000000000000 0.018457828269449531 117 | v 0.759550559128225000 1.000000000000000000 0.112197134686806227 118 | v 0.720073976359638546 1.000000000000000000 0.049560204176513023 119 | v 0.759550559128225000 1.000000000000000000 0.112197134686806199 120 | v 0.762441971746260605 1.000000000000000000 0.304069589299154119 121 | v 0.808997539953095313 0.000000000000000000 0.262178713404073227 122 | v 1.000000000000000000 0.655665247494891301 0.148027947270193749 123 | v 0.792316979621611517 1.000000000000000000 0.177979909837789690 124 | v 1.000000000000000000 0.797574777605853824 0.249661446078657118 125 | v 1.000000000000000000 0.720322834973698423 0.035991750120001914 126 | v 0.811158992151018166 1.000000000000000000 0.011100612102653635 127 | v 1.000000000000000000 0.000000000000000000 0.204245120392799573 128 | v 0.772344495837317790 1.000000000000000000 0.049292988441605221 129 | v 0.472465184925884740 1.000000000000000000 0.032153325254262614 130 | v 0.428383872718452352 1.000000000000000000 0.037334705706251192 131 | v 0.410939930989304314 1.000000000000000000 0.078645650708323384 132 | v 0.760113739277080258 1.000000000000000000 0.213447992162765748 133 | v 0.785596403793945020 1.000000000000000000 0.063713538990502125 134 | f 1 2 3 135 | f 2 4 3 136 | f 5 6 7 137 | f 6 8 7 138 | f 9 10 11 139 | f 12 9 13 140 | f 6 2 8 141 | f 2 1 8 142 | f 14 15 16 143 | f 17 15 18 144 | f 19 12 15 145 | f 20 13 9 146 | f 21 15 22 147 | f 23 24 25 148 | f 26 27 28 149 | f 29 30 31 150 | f 32 33 26 151 | f 34 35 36 152 | f 35 37 36 153 | f 38 39 40 154 | f 1 39 5 155 | f 15 17 16 156 | f 41 42 43 157 | f 44 43 5 158 | f 45 46 38 159 | f 41 46 47 160 | f 48 49 50 161 | f 51 50 52 162 | f 51 53 54 163 | f 51 6 53 164 | f 42 5 43 165 | f 8 1 7 166 | f 4 39 3 167 | f 55 39 4 168 | f 6 56 2 169 | f 56 4 2 170 | f 12 57 58 171 | f 59 22 13 172 | f 60 61 62 173 | f 63 22 64 174 | f 44 5 38 175 | f 44 46 43 176 | f 65 66 67 177 | f 31 68 69 178 | f 12 58 70 179 | f 12 71 9 180 | f 12 13 15 181 | f 72 15 21 182 | f 13 20 73 183 | f 74 75 66 184 | f 59 13 76 185 | f 13 22 15 186 | f 77 48 78 187 | f 72 48 79 188 | f 72 80 49 189 | f 80 52 49 190 | f 49 52 50 191 | f 81 72 79 192 | f 82 76 83 193 | f 72 49 48 194 | f 77 79 48 195 | f 51 52 56 196 | f 6 51 56 197 | f 55 40 39 198 | f 39 1 3 199 | f 80 84 40 200 | f 84 38 40 201 | f 80 40 56 202 | f 21 80 72 203 | f 44 38 46 204 | f 5 7 1 205 | f 85 86 87 206 | f 34 87 35 207 | f 21 88 80 208 | f 42 6 5 209 | f 89 90 91 210 | f 78 50 92 211 | f 80 56 52 212 | f 85 45 38 213 | f 85 93 45 214 | f 94 95 89 215 | f 96 97 89 216 | f 77 78 98 217 | f 78 99 98 218 | f 100 94 101 219 | f 102 94 79 220 | f 47 34 36 221 | f 93 47 45 222 | f 92 51 54 223 | f 99 78 101 224 | f 92 103 78 225 | f 103 101 78 226 | f 77 102 79 227 | f 78 48 50 228 | f 102 77 98 229 | f 101 94 99 230 | f 89 79 94 231 | f 92 54 104 232 | f 54 105 104 233 | f 99 94 98 234 | f 102 98 94 235 | f 6 42 53 236 | f 38 5 39 237 | f 41 53 42 238 | f 37 41 47 239 | f 106 101 35 240 | f 51 92 50 241 | f 103 92 104 242 | f 35 101 105 243 | f 105 101 104 244 | f 105 54 35 245 | f 85 87 107 246 | f 86 35 87 247 | f 45 47 46 248 | f 85 107 93 249 | f 37 47 36 250 | f 46 41 43 251 | f 40 55 56 252 | f 108 85 38 253 | f 37 35 54 254 | f 103 104 101 255 | f 109 110 111 256 | f 4 56 55 257 | f 107 87 47 258 | f 93 107 47 259 | f 89 91 79 260 | f 112 113 114 261 | f 10 9 71 262 | f 72 115 15 263 | f 30 116 67 264 | f 117 21 61 265 | f 21 22 61 266 | f 118 21 119 267 | f 120 61 22 268 | f 34 47 87 269 | f 41 54 53 270 | f 54 41 37 271 | f 19 121 12 272 | f 121 122 12 273 | f 81 115 72 274 | f 97 90 89 275 | f 91 81 79 276 | f 115 18 15 277 | f 11 20 9 278 | f 109 24 110 279 | f 123 124 26 280 | f 70 71 12 281 | f 125 76 13 282 | f 83 76 24 283 | f 126 112 75 284 | f 127 122 121 285 | f 69 29 31 286 | f 114 33 32 287 | f 59 64 22 288 | f 116 65 67 289 | f 65 74 66 290 | f 128 59 76 291 | f 129 84 80 292 | f 84 108 38 293 | f 130 86 85 294 | f 88 129 80 295 | f 100 95 94 296 | f 95 96 89 297 | f 106 100 101 298 | f 131 106 35 299 | f 86 131 35 300 | f 108 130 85 301 | f 123 109 111 302 | f 29 116 30 303 | f 132 117 61 304 | f 120 62 61 305 | f 109 25 24 306 | f 28 123 26 307 | f 133 83 24 308 | f 74 126 75 309 | -------------------------------------------------------------------------------- /QuantizedLibrary/QuantizedMesh/QuantizedMeshFormatDecoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.IO.Compression; 4 | 5 | // TODO: Indices are always strored as 32 bit, in some cases 16 bit can be used (less memory) 6 | 7 | namespace QuantizedMesh 8 | { 9 | // Decode the quantized mesg terrain format (see https://github.com/AnalyticalGraphicsInc/quantized-mesh) 10 | // Each tile is a specially-encoded triangle mesh where vertices overlap their neighbors at tile edges. 11 | // In other words, at the root, the eastern-most vertices in the western tile have the same longitude as the western-most vertices in the eastern tile. 12 | // Terrain tiles are served gzipped.Once extracted, tiles are little-endian, binary data. 13 | // The first part of the file is a header with the following format. 14 | // Doubles are IEEE 754 64-bit floating-point numbers, 15 | // Floats are IEEE 754 32-bit floating-point numbers. 16 | 17 | // application/vnd.quantized-mesh, application/octet-stream; q=0.9 18 | 19 | public class QuantizedMeshFormatDecoder 20 | { 21 | public enum SizePerStruct 22 | { 23 | StructSize_32bit, 24 | StructSize_16bit, 25 | } 26 | 27 | public struct NormilizedVertexData 28 | { 29 | public float u; 30 | public float v; 31 | public float height; 32 | } 33 | 34 | public struct VertexData 35 | { 36 | /* The horizontal coordinate of the vertex in the tile. 37 | * When the u value is 0, the vertex is on the Western edge of the tile. 38 | * When the value is 32767, the vertex is on the Eastern edge of the tile. 39 | * For other values, the vertex's longitude is a linear interpolation between the longitudes of the Western and Eastern edges of the tile. */ 40 | public int u; 41 | /* 42 | * The vertical coordinate of the vertex in the tile. 43 | * When the v value is 0, the vertex is on the Southern edge of the tile. 44 | * When the value is 32767, the vertex is on the Northern edge of the tile. 45 | * For other values, the vertex's latitude is a linear interpolation between the latitudes of the Southern and Nothern edges of the tile. */ 46 | public int v; 47 | /* The height of the vertex in the tile. 48 | * When the height value is 0, the vertex's height is equal to the minimum height within the tile, as specified in the tile's header. 49 | * When the value is 32767, the vertex's height is equal to the maximum height within the tile. 50 | * For other values, the vertex's height is a linear interpolation between the minimum and maximum heights. */ 51 | public int height; 52 | } 53 | 54 | // The center of the tile in Earth-centered Fixed coordinates. 55 | public double CenterX { get; private set; } 56 | public double CenterY { get; private set; } 57 | public double CenterZ { get; private set; } 58 | 59 | // The minimum and maximum heights in the area covered by this tile. 60 | // The minimum may be lower and the maximum may be higher than 61 | // the height of any vertex in this tile in the case that the min/max vertex 62 | // was removed during mesh simplification, but these are the appropriate 63 | // values to use for analysis or visualization. 64 | public float MinimumHeight { get; private set; } 65 | public float MaximumHeight { get; private set; } 66 | 67 | // The tile’s bounding sphere. The X,Y,Z coordinates are again expressed 68 | // in Earth-centered Fixed coordinates, and the radius is in meters. 69 | public double BoundingSphereCenterX { get; private set; } 70 | public double BoundingSphereCenterY { get; private set; } 71 | public double BoundingSphereCenterZ { get; private set; } 72 | public double BoundingSphereRadius { get; private set; } 73 | 74 | // The horizon occlusion point, expressed in the ellipsoid-scaled Earth-centered Fixed frame. 75 | // If this point is below the horizon, the entire tile is below the horizon. 76 | // See http://cesiumjs.org/2013/04/25/Horizon-culling/ for more information. 77 | public double HorizonOcclusionPointX { get; private set; } 78 | public double HorizonOcclusionPointY { get; private set; } 79 | public double HorizonOcclusionPointZ { get; private set; } 80 | 81 | private VertexData[] mVertexList = null; 82 | public VertexData[] VertexList { get { return mVertexList; } } 83 | 84 | // counter-clockwise winding order 85 | private uint[] mTriangleIndices = null; 86 | public uint[] TriangleIndices { get { return mTriangleIndices; } } 87 | 88 | private uint[] mWestIndices = null; 89 | public uint[] WestIndices { get { return mWestIndices; } } 90 | private uint[] mSouthIndices = null; 91 | public uint[] SouthIndices { get { return mSouthIndices; } } 92 | private uint[] mEastIndices = null; 93 | public uint[] EastIndices { get { return mEastIndices; } } 94 | private uint[] mNorthIndices = null; 95 | public uint[] NorthIndices { get { return mNorthIndices; } } 96 | 97 | public QuantizedMeshFormatDecoder(FileInfo pTerrainFile, bool pIsGzipped) 98 | { 99 | using (var inputStream = File.OpenRead(pTerrainFile.FullName)) 100 | { 101 | DecodeFile(inputStream, pIsGzipped); 102 | } 103 | } 104 | 105 | private void DecodeFile(Stream pInputStream, bool pIsGzipped) 106 | { 107 | if (pInputStream == null) throw new ArgumentNullException("pInputStream"); 108 | using (var quantizedMeshStream = new QuantizedMeshStream(pInputStream, pIsGzipped)) 109 | { 110 | // Read Header 111 | CenterX = quantizedMeshStream.ReadDouble(); 112 | CenterY = quantizedMeshStream.ReadDouble(); 113 | CenterZ = quantizedMeshStream.ReadDouble(); 114 | MinimumHeight = quantizedMeshStream.ReadFloat(); 115 | MaximumHeight = quantizedMeshStream.ReadFloat(); 116 | BoundingSphereCenterX = quantizedMeshStream.ReadDouble(); 117 | BoundingSphereCenterY = quantizedMeshStream.ReadDouble(); 118 | BoundingSphereCenterZ = quantizedMeshStream.ReadDouble(); 119 | BoundingSphereRadius = quantizedMeshStream.ReadDouble(); 120 | HorizonOcclusionPointX = quantizedMeshStream.ReadDouble(); 121 | HorizonOcclusionPointY = quantizedMeshStream.ReadDouble(); 122 | HorizonOcclusionPointZ = quantizedMeshStream.ReadDouble(); 123 | 124 | // Read Vertex Data 125 | getVertexList(quantizedMeshStream, ref mVertexList); 126 | 127 | // Read Index data (traingle indices) 128 | SizePerStruct structSize = (mVertexList.Length > 65536) ? SizePerStruct.StructSize_32bit : SizePerStruct.StructSize_16bit; 129 | GetIndices(quantizedMeshStream, ref mTriangleIndices, structSize); 130 | 131 | // Read edge indices 132 | getEdgeIndices(quantizedMeshStream, ref mWestIndices, structSize); 133 | getEdgeIndices(quantizedMeshStream, ref mSouthIndices, structSize); 134 | getEdgeIndices(quantizedMeshStream, ref mEastIndices, structSize); 135 | getEdgeIndices(quantizedMeshStream, ref mNorthIndices, structSize); 136 | 137 | 138 | Console.Out.WriteLine(String.Format("{0:0.00000000}", CenterX)); 139 | 140 | for (int index = 0; index < mVertexList.Length; index++) 141 | { 142 | Console.Out.WriteLine(String.Format("{0:0.00000000} {1:0.00000000} {2:0.00000000}", 143 | Normalize(mVertexList[index].u), Normalize(mVertexList[index].v ), GetHeightInMeter(index))); 144 | } 145 | 146 | Console.Out.WriteLine(String.Format("{0:0.00000000}", CenterZ)); 147 | } 148 | } 149 | 150 | // Normalize between 0..1 (for vertex u, v and height) 151 | public static double Normalize(int pValue) 152 | { 153 | return (float)pValue / 32767.0; 154 | } 155 | 156 | public float GetHeightInMeter(int pVertexIndex /* start at zero*/) 157 | { 158 | if ((mVertexList != null) && (pVertexIndex < mVertexList.Length)) 159 | { 160 | float delta = MaximumHeight - MinimumHeight; 161 | return (float)(MinimumHeight + (Normalize(mVertexList[pVertexIndex].height) * delta)); 162 | } 163 | return float.MinValue; 164 | } 165 | 166 | private static void GetIndices(QuantizedMeshStream pStream, ref uint[] pTriangleIndices, SizePerStruct pSizePerStruct) 167 | { 168 | byte bytesInStruct = (pSizePerStruct == SizePerStruct.StructSize_32bit) ? (byte)4 : (byte)2; 169 | var alignment = pStream.GetPosition() % bytesInStruct; 170 | if (alignment != 0) 171 | { 172 | pStream.ReadPadding((byte)(bytesInStruct - alignment)); 173 | } 174 | 175 | 176 | uint triangleCount = pStream.ReadUnsigned32Bit(); 177 | pTriangleIndices = new uint[triangleCount*3]; /* 3 indices for 1 triangle */ 178 | for (int index = 0; index < pTriangleIndices.Length; index++) 179 | { 180 | pTriangleIndices[index] = (pSizePerStruct == SizePerStruct.StructSize_32bit) ? pStream.ReadUnsigned32Bit() : pStream.ReadUnsigned16Bit(); 181 | } 182 | 183 | 184 | // Decompress values 185 | uint highest = 0; 186 | for (var i = 0; i < pTriangleIndices.Length; ++i) 187 | { 188 | uint code = pTriangleIndices[i]; 189 | pTriangleIndices[i] = highest - code; 190 | if (code == 0) { ++highest; } 191 | } 192 | 193 | } 194 | 195 | private static void getEdgeIndices(QuantizedMeshStream pStream, ref uint[] pEdgeIndices, SizePerStruct pSizePerStruct) 196 | { 197 | uint triangleCount = pStream.ReadUnsigned32Bit(); 198 | pEdgeIndices = new uint[triangleCount ]; 199 | for (int index = 0; index < pEdgeIndices.Length; index++) 200 | { 201 | pEdgeIndices[index] = (pSizePerStruct == SizePerStruct.StructSize_32bit) ? pStream.ReadUnsigned32Bit() : pStream.ReadUnsigned16Bit(); 202 | } 203 | } 204 | 205 | private static void getVertexList(QuantizedMeshStream pStream, ref VertexData[] pVertexList) 206 | { 207 | uint numberOfVertex = pStream.ReadUnsigned32Bit(); 208 | pVertexList = new VertexData[numberOfVertex]; 209 | 210 | for (int index = 0; index < numberOfVertex; index++) pVertexList[index].u = pStream.ReadUnsigned16Bit(); 211 | for (int index = 0; index < numberOfVertex; index++) pVertexList[index].v= pStream.ReadUnsigned16Bit(); 212 | for (int index = 0; index < numberOfVertex; index++) pVertexList[index].height = pStream.ReadUnsigned16Bit(); 213 | 214 | // Apply ZigZag (data is compressed) 215 | var u = 0; 216 | var v = 0; 217 | var height = 0; 218 | for (int index = 0; index < numberOfVertex; ++index) 219 | { 220 | u += ZigZagDecode((ushort)pVertexList[index].u); 221 | v += ZigZagDecode((ushort)pVertexList[index].v); 222 | height += ZigZagDecode((ushort)pVertexList[index].height); 223 | 224 | pVertexList[index].u = u; 225 | pVertexList[index].v = v; 226 | pVertexList[index].height = height; 227 | } 228 | } 229 | 230 | private static int ZigZagDecode(ushort pValue) 231 | { 232 | return ((pValue >> 1) ^ (-(pValue & 1))); 233 | } 234 | } 235 | } 236 | -------------------------------------------------------------------------------- /UnityViewer/UnityQuantizedMeshViewer/Assets/Scenes/SampleScene.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 705507994} 41 | m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 0 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 1 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 500 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 2 83 | m_PVRDenoiserTypeDirect: 0 84 | m_PVRDenoiserTypeIndirect: 0 85 | m_PVRDenoiserTypeAO: 0 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 0 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ShowResolutionOverlay: 1 98 | m_ExportTrainingData: 0 99 | m_LightingDataAsset: {fileID: 0} 100 | m_UseShadowmask: 1 101 | --- !u!196 &4 102 | NavMeshSettings: 103 | serializedVersion: 2 104 | m_ObjectHideFlags: 0 105 | m_BuildSettings: 106 | serializedVersion: 2 107 | agentTypeID: 0 108 | agentRadius: 0.5 109 | agentHeight: 2 110 | agentSlope: 45 111 | agentClimb: 0.4 112 | ledgeDropHeight: 0 113 | maxJumpAcrossDistance: 0 114 | minRegionArea: 2 115 | manualCellSize: 0 116 | cellSize: 0.16666667 117 | manualTileSize: 0 118 | tileSize: 256 119 | accuratePlacement: 0 120 | debug: 121 | m_Flags: 0 122 | m_NavMeshData: {fileID: 0} 123 | --- !u!1 &69589053 124 | GameObject: 125 | m_ObjectHideFlags: 0 126 | m_CorrespondingSourceObject: {fileID: 0} 127 | m_PrefabInstance: {fileID: 0} 128 | m_PrefabAsset: {fileID: 0} 129 | serializedVersion: 6 130 | m_Component: 131 | - component: {fileID: 69589055} 132 | - component: {fileID: 69589054} 133 | - component: {fileID: 69589056} 134 | m_Layer: 0 135 | m_Name: Tiles 136 | m_TagString: Untagged 137 | m_Icon: {fileID: 0} 138 | m_NavMeshLayer: 0 139 | m_StaticEditorFlags: 0 140 | m_IsActive: 1 141 | --- !u!114 &69589054 142 | MonoBehaviour: 143 | m_ObjectHideFlags: 0 144 | m_CorrespondingSourceObject: {fileID: 0} 145 | m_PrefabInstance: {fileID: 0} 146 | m_PrefabAsset: {fileID: 0} 147 | m_GameObject: {fileID: 69589053} 148 | m_Enabled: 1 149 | m_EditorHideFlags: 0 150 | m_GeneratorAsset: {fileID: 0} 151 | m_Script: {fileID: 11500000, guid: b6d835d0bb4549844ac72f5a8eacf310, type: 3} 152 | m_Name: 153 | m_EditorClassIdentifier: 154 | Latitude: 51.98675 155 | Longitude: 4.66788 156 | ZoomLevel: 14 157 | NumberOfTiles: 3 158 | --- !u!4 &69589055 159 | Transform: 160 | m_ObjectHideFlags: 0 161 | m_CorrespondingSourceObject: {fileID: 0} 162 | m_PrefabInstance: {fileID: 0} 163 | m_PrefabAsset: {fileID: 0} 164 | m_GameObject: {fileID: 69589053} 165 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 166 | m_LocalPosition: {x: 0, y: 0, z: 0} 167 | m_LocalScale: {x: 1, y: 1, z: 1} 168 | m_Children: [] 169 | m_Father: {fileID: 0} 170 | m_RootOrder: 2 171 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 172 | --- !u!114 &69589056 173 | MonoBehaviour: 174 | m_ObjectHideFlags: 0 175 | m_CorrespondingSourceObject: {fileID: 0} 176 | m_PrefabInstance: {fileID: 0} 177 | m_PrefabAsset: {fileID: 0} 178 | m_GameObject: {fileID: 69589053} 179 | m_Enabled: 1 180 | m_EditorHideFlags: 0 181 | m_GeneratorAsset: {fileID: 0} 182 | m_Script: {fileID: 11500000, guid: 03175bcae7cde2247984cd94a48d9a34, type: 3} 183 | m_Name: 184 | m_EditorClassIdentifier: 185 | x: 0 186 | z: 0 187 | --- !u!1 &238571409 188 | GameObject: 189 | m_ObjectHideFlags: 0 190 | m_CorrespondingSourceObject: {fileID: 0} 191 | m_PrefabInstance: {fileID: 0} 192 | m_PrefabAsset: {fileID: 0} 193 | serializedVersion: 6 194 | m_Component: 195 | - component: {fileID: 238571413} 196 | - component: {fileID: 238571412} 197 | - component: {fileID: 238571411} 198 | m_Layer: 0 199 | m_Name: MouseIcon 200 | m_TagString: Untagged 201 | m_Icon: {fileID: 0} 202 | m_NavMeshLayer: 0 203 | m_StaticEditorFlags: 0 204 | m_IsActive: 1 205 | --- !u!23 &238571411 206 | MeshRenderer: 207 | m_ObjectHideFlags: 0 208 | m_CorrespondingSourceObject: {fileID: 0} 209 | m_PrefabInstance: {fileID: 0} 210 | m_PrefabAsset: {fileID: 0} 211 | m_GameObject: {fileID: 238571409} 212 | m_Enabled: 1 213 | m_CastShadows: 1 214 | m_ReceiveShadows: 1 215 | m_DynamicOccludee: 1 216 | m_MotionVectors: 1 217 | m_LightProbeUsage: 1 218 | m_ReflectionProbeUsage: 1 219 | m_RenderingLayerMask: 1 220 | m_RendererPriority: 0 221 | m_Materials: 222 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 223 | m_StaticBatchInfo: 224 | firstSubMesh: 0 225 | subMeshCount: 0 226 | m_StaticBatchRoot: {fileID: 0} 227 | m_ProbeAnchor: {fileID: 0} 228 | m_LightProbeVolumeOverride: {fileID: 0} 229 | m_ScaleInLightmap: 1 230 | m_PreserveUVs: 0 231 | m_IgnoreNormalsForChartDetection: 0 232 | m_ImportantGI: 0 233 | m_StitchLightmapSeams: 1 234 | m_SelectedEditorRenderState: 3 235 | m_MinimumChartSize: 4 236 | m_AutoUVMaxDistance: 0.5 237 | m_AutoUVMaxAngle: 89 238 | m_LightmapParameters: {fileID: 0} 239 | m_SortingLayerID: 0 240 | m_SortingLayer: 0 241 | m_SortingOrder: 0 242 | --- !u!33 &238571412 243 | MeshFilter: 244 | m_ObjectHideFlags: 0 245 | m_CorrespondingSourceObject: {fileID: 0} 246 | m_PrefabInstance: {fileID: 0} 247 | m_PrefabAsset: {fileID: 0} 248 | m_GameObject: {fileID: 238571409} 249 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 250 | --- !u!4 &238571413 251 | Transform: 252 | m_ObjectHideFlags: 0 253 | m_CorrespondingSourceObject: {fileID: 0} 254 | m_PrefabInstance: {fileID: 0} 255 | m_PrefabAsset: {fileID: 0} 256 | m_GameObject: {fileID: 238571409} 257 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 258 | m_LocalPosition: {x: 7.087227, y: -9.094674, z: 12.542736} 259 | m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} 260 | m_Children: [] 261 | m_Father: {fileID: 0} 262 | m_RootOrder: 3 263 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 264 | --- !u!1 &705507993 265 | GameObject: 266 | m_ObjectHideFlags: 0 267 | m_CorrespondingSourceObject: {fileID: 0} 268 | m_PrefabInstance: {fileID: 0} 269 | m_PrefabAsset: {fileID: 0} 270 | serializedVersion: 6 271 | m_Component: 272 | - component: {fileID: 705507995} 273 | - component: {fileID: 705507994} 274 | m_Layer: 0 275 | m_Name: Directional Light 276 | m_TagString: Untagged 277 | m_Icon: {fileID: 0} 278 | m_NavMeshLayer: 0 279 | m_StaticEditorFlags: 0 280 | m_IsActive: 1 281 | --- !u!108 &705507994 282 | Light: 283 | m_ObjectHideFlags: 0 284 | m_CorrespondingSourceObject: {fileID: 0} 285 | m_PrefabInstance: {fileID: 0} 286 | m_PrefabAsset: {fileID: 0} 287 | m_GameObject: {fileID: 705507993} 288 | m_Enabled: 1 289 | serializedVersion: 9 290 | m_Type: 1 291 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 292 | m_Intensity: 1 293 | m_Range: 10 294 | m_SpotAngle: 30 295 | m_InnerSpotAngle: 21.80208 296 | m_CookieSize: 10 297 | m_Shadows: 298 | m_Type: 2 299 | m_Resolution: -1 300 | m_CustomResolution: -1 301 | m_Strength: 1 302 | m_Bias: 0.05 303 | m_NormalBias: 0.4 304 | m_NearPlane: 0.2 305 | m_Cookie: {fileID: 0} 306 | m_DrawHalo: 0 307 | m_Flare: {fileID: 0} 308 | m_RenderMode: 0 309 | m_CullingMask: 310 | serializedVersion: 2 311 | m_Bits: 4294967295 312 | m_Lightmapping: 1 313 | m_LightShadowCasterMode: 0 314 | m_AreaSize: {x: 1, y: 1} 315 | m_BounceIntensity: 1 316 | m_ColorTemperature: 6570 317 | m_UseColorTemperature: 0 318 | m_ShadowRadius: 0 319 | m_ShadowAngle: 0 320 | --- !u!4 &705507995 321 | Transform: 322 | m_ObjectHideFlags: 0 323 | m_CorrespondingSourceObject: {fileID: 0} 324 | m_PrefabInstance: {fileID: 0} 325 | m_PrefabAsset: {fileID: 0} 326 | m_GameObject: {fileID: 705507993} 327 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 328 | m_LocalPosition: {x: 0, y: 3, z: 0} 329 | m_LocalScale: {x: 1, y: 1, z: 1} 330 | m_Children: [] 331 | m_Father: {fileID: 0} 332 | m_RootOrder: 1 333 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 334 | --- !u!1 &963194225 335 | GameObject: 336 | m_ObjectHideFlags: 0 337 | m_CorrespondingSourceObject: {fileID: 0} 338 | m_PrefabInstance: {fileID: 0} 339 | m_PrefabAsset: {fileID: 0} 340 | serializedVersion: 6 341 | m_Component: 342 | - component: {fileID: 963194228} 343 | - component: {fileID: 963194227} 344 | - component: {fileID: 963194226} 345 | m_Layer: 0 346 | m_Name: Main Camera 347 | m_TagString: MainCamera 348 | m_Icon: {fileID: 0} 349 | m_NavMeshLayer: 0 350 | m_StaticEditorFlags: 0 351 | m_IsActive: 1 352 | --- !u!81 &963194226 353 | AudioListener: 354 | m_ObjectHideFlags: 0 355 | m_CorrespondingSourceObject: {fileID: 0} 356 | m_PrefabInstance: {fileID: 0} 357 | m_PrefabAsset: {fileID: 0} 358 | m_GameObject: {fileID: 963194225} 359 | m_Enabled: 1 360 | --- !u!20 &963194227 361 | Camera: 362 | m_ObjectHideFlags: 0 363 | m_CorrespondingSourceObject: {fileID: 0} 364 | m_PrefabInstance: {fileID: 0} 365 | m_PrefabAsset: {fileID: 0} 366 | m_GameObject: {fileID: 963194225} 367 | m_Enabled: 1 368 | serializedVersion: 2 369 | m_ClearFlags: 1 370 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 371 | m_projectionMatrixMode: 1 372 | m_GateFitMode: 2 373 | m_FOVAxisMode: 0 374 | m_SensorSize: {x: 36, y: 24} 375 | m_LensShift: {x: 0, y: 0} 376 | m_FocalLength: 50 377 | m_NormalizedViewPortRect: 378 | serializedVersion: 2 379 | x: 0 380 | y: 0 381 | width: 1 382 | height: 1 383 | near clip plane: 0.3 384 | far clip plane: 1000 385 | field of view: 60 386 | orthographic: 0 387 | orthographic size: 5 388 | m_Depth: -1 389 | m_CullingMask: 390 | serializedVersion: 2 391 | m_Bits: 4294967295 392 | m_RenderingPath: -1 393 | m_TargetTexture: {fileID: 0} 394 | m_TargetDisplay: 0 395 | m_TargetEye: 3 396 | m_HDR: 1 397 | m_AllowMSAA: 1 398 | m_AllowDynamicResolution: 0 399 | m_ForceIntoRT: 0 400 | m_OcclusionCulling: 1 401 | m_StereoConvergence: 10 402 | m_StereoSeparation: 0.022 403 | --- !u!4 &963194228 404 | Transform: 405 | m_ObjectHideFlags: 0 406 | m_CorrespondingSourceObject: {fileID: 0} 407 | m_PrefabInstance: {fileID: 0} 408 | m_PrefabAsset: {fileID: 0} 409 | m_GameObject: {fileID: 963194225} 410 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 411 | m_LocalPosition: {x: 0, y: 1, z: -10} 412 | m_LocalScale: {x: 1, y: 1, z: 1} 413 | m_Children: [] 414 | m_Father: {fileID: 0} 415 | m_RootOrder: 0 416 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 417 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/13/4200/5486.obj: -------------------------------------------------------------------------------- 1 | v 0.904566940792770668 0.708547380060849608 0.487906695063988205 2 | v 0.901249733493187266 0.711864587360575896 0.763892845460264147 3 | v 0.901249733493187266 0.708547380060849608 0.713600119274761968 4 | v 0.897932526193615743 0.708547380060849608 0.746952667013758398 5 | v 0.901249733493187266 0.758305489554458423 0.906564908019696691 6 | v 0.904566940792770668 0.748353867655850880 0.652749768376359230 7 | v 0.904566940792770668 0.761622696854184600 0.636049495900705808 8 | v 0.907884148092342302 0.764939904153720485 0.169833958792532241 9 | v 0.732072161214991302 0.821332428246400847 0.095818533669002934 10 | v 0.745340990413277393 0.814698013647329189 0.016268355750171864 11 | v 0.738706575814134347 0.821332428246400847 0.127171512203766018 12 | v 0.715486124717133576 0.824649635545936732 0.052452248817495543 13 | v 0.685631259020977879 0.837918464744270453 0.000000000000000000 14 | v 0.897932526193615743 0.675375307065300801 0.087340434899027500 15 | v 0.705534502818407017 0.827966842845472617 0.009597849849359808 16 | v 0.732072161214991302 0.824649635545936732 0.133698051853538225 17 | v 0.712168917417562053 0.831284050145198794 0.129858907013155223 18 | v 0.718803332016705099 0.824649635545936732 0.079998079938320379 19 | v 0.758609819611575475 0.821332428246400847 0.010125731585571715 20 | v 0.894615318894044220 0.682009721664372459 0.016316344023788124 21 | v 0.583410965211967003 0.000000000000000000 0.008581189115817173 22 | v 0.988205463276602525 0.000000000000000000 0.045912572327500151 23 | v 0.901249733493187266 0.675375307065300801 0.058834820786036815 24 | v 0.354150830223386615 1.000000000000000000 0.061161583133658222 25 | v 0.364860334908791661 0.000000000000000000 0.235169430174282712 26 | v 0.805050721805588898 0.791477562550197522 0.013436990136595469 27 | v 0.755292612312003953 0.811380806347603012 0.008638064533133474 28 | v 0.771878648809861567 0.811380806347603012 0.007822247434459717 29 | v 0.555319524537333020 0.000000000000000000 0.183552534287283742 30 | v 0.557694043766399306 0.000000000000000000 0.040128590773060920 31 | v 0.891298111594472697 0.804746391748531242 0.293886162154209152 32 | v 0.691132462883876086 1.000000000000000000 0.186334852272620449 33 | v 0.590380582754158167 1.000000000000000000 0.087250437047639948 34 | v 0.887980904294901174 0.764939904153720485 0.590123783777626643 35 | v 0.891298111594472697 0.764939904153720485 0.747816479537003809 36 | v 0.887980904294901174 0.768257111453256258 0.795661759789701217 37 | v 0.887980904294901174 0.771574318752792143 0.753239237764271263 38 | v 0.891298111594472697 0.771574318752792143 0.729676530964136649 39 | v 0.864760453197888412 0.774891526052327917 0.537815517920942399 40 | v 0.871394867797043449 0.771574318752792143 0.716479494352246560 41 | v 0.881346489695758017 0.774891526052327917 0.129858908443346299 42 | v 0.884663696995329540 0.774891526052327917 0.071647947991066885 43 | v 0.884663696995329540 0.771574318752792143 0.769603586961394304 44 | v 0.894615318894044220 0.804746391748531242 0.433534863719990060 45 | v 0.693221660068658929 1.000000000000000000 0.274286447642469067 46 | v 0.901249733493187266 0.701912965461777949 0.604232641566601170 47 | v 0.904566940792770668 0.691961343562980002 0.109991357707045517 48 | v 0.901249733493187266 0.705230172761313834 0.659900163091645897 49 | v 0.726871238287776666 0.000000000000000000 0.061530201306604894 50 | v 0.988205463276602525 0.000000000000000000 0.045912572327500165 51 | v 0.897932526193615743 0.678692514364836685 0.169210090855298090 52 | v 0.901249733493187266 0.682009721664372459 0.218063149524732963 53 | v 0.897932526193615743 0.685326928963908344 0.328342439828831822 54 | v 0.897932526193615743 0.682009721664372459 0.249016211358267237 55 | v 0.901249733493187266 0.688644136263444229 0.373164404853991827 56 | v 0.897932526193615743 0.691961343562980002 0.475573453813050717 57 | v 0.901249733493187266 0.748353867655850880 0.961224629198407676 58 | v 0.897932526193615743 0.748353867655850880 1.000000000000000000 59 | v 0.881346489695758017 0.768257111453256258 0.756022629858663420 60 | v 0.878029282396186495 0.771574318752792143 0.768067927881088242 61 | v 0.874712075096614972 0.768257111453256258 0.697715684993100660 62 | v 0.901249733493187266 0.695278550862706290 0.500383893627271426 63 | v 0.901249733493187266 0.691961343562980002 0.440301360827493105 64 | v 0.894615318894044220 0.698595758162242064 0.505422765688283704 65 | v 0.894615318894044220 0.701912965461777949 0.558978776000582656 66 | v 0.891298111594472697 0.758305489554458423 0.180151638919421653 67 | v 0.894615318894044220 0.761622696854184600 0.867981556578089064 68 | v 0.891298111594472697 0.761622696854184600 0.305835479696375978 69 | v 0.838222794801316118 0.781525940651589979 0.008734043046878720 70 | v 0.831588380202173072 0.781525940651589979 0.192532868801523233 71 | v 0.831588380202173072 0.778208733351863802 0.071599961505189449 72 | v 0.858126038598745366 0.778208733351863802 0.022075054133407292 73 | v 0.861443245898316889 0.774891526052327917 0.583069372045432299 74 | v 0.864760453197888412 0.771574318752792143 0.647326975824506157 75 | v 0.941056221088057643 0.771574318752792143 0.074191380482441657 76 | v 0.904566940792770668 0.745036660356314995 0.283856412384112855 77 | v 0.904566940792770668 0.764939904153720485 0.721422371988638012 78 | v 0.901249733493187266 0.761622696854184600 0.890872439704220032 79 | v 0.897932526193615743 0.761622696854184600 0.920001884927024838 80 | v 1.000000000000000000 0.610472305050219766 0.052979088971467941 81 | v 0.989850949519082146 0.000000000000000000 0.031772486520254689 82 | v 0.897932526193615743 0.711864587360575896 0.784144305245877193 83 | v 0.891298111594472697 0.715181794660111669 0.003503219321592436 84 | v 0.894615318894044220 0.711864587360575896 0.692292903882776089 85 | v 0.894615318894044220 0.708547380060849608 0.666618662986838584 86 | v 0.838222794801316118 0.778208733351863802 0.287551577029093064 87 | v 0.841540002100887752 0.774891526052327917 0.197283799254161119 88 | v 0.848174416700030798 0.778208733351863802 0.356752081327615433 89 | v 0.844857209400459275 0.778208733351863802 0.362894694765782566 90 | v 0.924470184590199917 0.768257111453256258 0.365006228861585513 91 | v 0.848174416700030798 0.774891526052327917 0.436990102371442979 92 | v 0.848174416700030798 0.771574318752792143 0.015740477589437630 93 | v 0.871394867797043449 0.764939904153720485 0.037623570857302613 94 | v 0.851491623999602321 0.774891526052327917 0.496544757368034828 95 | v 0.851491623999602321 0.771574318752792143 0.271955072389129249 96 | v 0.858126038598745366 0.768257111453256258 0.008590080013768771 97 | v 0.858126038598745366 0.771574318752792143 0.555475551578347937 98 | v 0.858126038598745366 0.774891526052327917 0.588684130563470132 99 | v 0.864760453197888412 0.768257111453256258 0.444332451611385792 100 | v 0.871394867797043449 0.768257111453256258 0.651694001328457784 101 | v 0.891298111594472697 0.751671074955386653 0.303052112272779728 102 | v 0.615907798016186780 1.000000000000000000 0.007759182658885642 103 | v 0.354150830223386615 1.000000000000000000 0.061161583133658215 104 | v 0.350593321764157362 0.000000000000000000 0.195606302420344130 105 | v 0.364860334908791661 0.000000000000000000 0.235169430174282684 106 | v 0.894615318894044220 0.764939904153720485 0.860303284059615869 107 | v 0.854808831299173844 0.778208733351863802 0.174536901496702174 108 | v 0.897932526193615743 0.771574318752792143 0.873692252313104878 109 | v 1.000000000000000000 0.622637709540151740 0.052787606998479120 110 | v 1.000000000000000000 0.751682331184128416 0.020219420048089569 111 | v 0.566536248803519382 0.000000000000000000 0.037842690118398324 112 | v 0.583410965211967003 0.000000000000000000 0.008581189115817177 113 | v 0.921152977290628394 0.768257111453256258 0.420913713565125469 114 | v 0.921152977290628394 0.771574318752792143 0.513245018402159747 115 | v 0.904566940792770668 0.774891526052327917 0.047749303610491262 116 | v 0.901249733493187266 0.771574318752792143 0.844034894962527926 117 | v 0.904566940792770668 0.771574318752792143 0.781600899213037215 118 | v 0.907884148092342302 0.768257111453256258 0.697043826994511395 119 | v 0.911201355391913825 0.771574318752792143 0.695844114075792830 120 | v 0.911201355391913825 0.768257111453256258 0.605288397172974002 121 | v 0.911201355391913825 0.774891526052327917 0.005998653885561224 122 | v 0.887980904294901174 0.774891526052327917 0.011853341257508450 123 | v 1.000000000000000000 0.793291535106574908 0.135336817091098655 124 | v 1.000000000000000000 0.610472305050219766 0.052979088971467934 125 | v 0.775948772983196644 1.000000000000000000 0.002382498526077311 126 | v 1.000000000000000000 0.825026660805899370 0.001868007100710660 127 | v 1.000000000000000000 1.000000000000000000 0.005120041056620304 128 | v 0.894615318894044220 0.758305489554458423 0.884537814533754019 129 | v 0.894615318894044220 0.751671074955386653 0.930079651932106510 130 | v 0.894615318894044220 0.748353867655850880 0.167098568201023701 131 | v 1.000000000000000000 0.756323174191167347 0.037579036780964581 132 | v 0.726871238287776666 0.000000000000000000 0.061530201306604901 133 | v 0.555319524537333020 0.000000000000000000 0.183552534287283686 134 | v 1.000000000000000000 0.000000000000000000 0.031406381011699638 135 | v 1.000000000000000000 0.000696859872985331 0.031431006460560185 136 | v 1.000000000000000000 0.000696859872985331 0.031431006460560199 137 | v 1.000000000000000000 0.780784284207786672 0.033971153911660133 138 | v 1.000000000000000000 0.751682331184128416 0.020219420048089565 139 | v 0.575763909619456782 1.000000000000000000 0.001101581467716008 140 | v 0.350593321764157362 1.000000000000000000 0.051296437554035804 141 | v 0.775948772983196644 1.000000000000000000 0.002382498526077310 142 | f 1 2 3 143 | f 2 4 3 144 | f 5 6 7 145 | f 6 8 7 146 | f 9 10 11 147 | f 9 12 10 148 | f 13 14 15 149 | f 14 12 15 150 | f 16 17 18 151 | f 17 12 18 152 | f 12 9 18 153 | f 16 19 17 154 | f 20 10 14 155 | f 11 10 19 156 | f 13 21 14 157 | f 22 23 14 158 | f 24 25 13 159 | f 12 14 10 160 | f 9 16 18 161 | f 26 27 20 162 | f 11 16 9 163 | f 26 28 27 164 | f 12 17 15 165 | f 13 29 30 166 | f 31 32 19 167 | f 33 13 17 168 | f 27 19 10 169 | f 26 31 28 170 | f 28 19 27 171 | f 16 11 19 172 | f 34 35 36 173 | f 37 36 38 174 | f 39 40 41 175 | f 42 41 43 176 | f 44 45 31 177 | f 28 31 19 178 | f 1 46 47 179 | f 1 48 46 180 | f 14 49 50 181 | f 23 51 14 182 | f 13 15 17 183 | f 52 53 54 184 | f 53 20 54 185 | f 55 56 53 186 | f 56 20 53 187 | f 6 5 57 188 | f 5 58 57 189 | f 34 36 59 190 | f 37 42 43 191 | f 60 43 41 192 | f 60 61 59 193 | f 47 62 63 194 | f 62 56 63 195 | f 62 46 64 196 | f 48 65 46 197 | f 66 67 68 198 | f 67 35 68 199 | f 23 52 51 200 | f 69 26 70 201 | f 26 71 70 202 | f 72 73 39 203 | f 40 39 74 204 | f 47 75 1 205 | f 2 1 76 206 | f 77 78 7 207 | f 77 79 78 208 | f 80 23 81 209 | f 82 83 84 210 | f 83 85 84 211 | f 52 23 47 212 | f 69 71 86 213 | f 71 87 86 214 | f 88 69 89 215 | f 87 89 86 216 | f 4 48 3 217 | f 48 1 3 218 | f 76 90 6 219 | f 76 75 90 220 | f 87 91 89 221 | f 87 92 91 222 | f 66 34 93 223 | f 34 66 68 224 | f 94 92 95 225 | f 92 96 95 226 | f 73 97 74 227 | f 73 98 97 228 | f 26 69 31 229 | f 88 89 91 230 | f 74 96 99 231 | f 96 93 99 232 | f 40 74 100 233 | f 93 100 99 234 | f 60 40 61 235 | f 61 40 100 236 | f 74 99 100 237 | f 101 93 83 238 | f 19 102 17 239 | f 103 104 105 240 | f 34 59 93 241 | f 106 35 67 242 | f 52 47 55 243 | f 55 47 63 244 | f 54 51 52 245 | f 69 107 31 246 | f 71 69 70 247 | f 83 65 85 248 | f 65 4 85 249 | f 108 106 79 250 | f 108 38 106 251 | f 23 109 110 252 | f 13 111 112 253 | f 20 27 10 254 | f 13 30 111 255 | f 5 7 78 256 | f 79 5 78 257 | f 75 76 1 258 | f 113 6 90 259 | f 65 48 4 260 | f 62 47 46 261 | f 107 72 31 262 | f 69 86 89 263 | f 113 90 114 264 | f 75 114 90 265 | f 115 116 117 266 | f 118 117 77 267 | f 119 120 114 268 | f 6 113 8 269 | f 121 115 119 270 | f 121 44 115 271 | f 93 61 100 272 | f 73 74 39 273 | f 37 43 36 274 | f 106 38 35 275 | f 96 74 97 276 | f 43 59 36 277 | f 38 122 37 278 | f 42 122 31 279 | f 35 38 36 280 | f 35 34 68 281 | f 101 66 93 282 | f 59 43 60 283 | f 51 20 14 284 | f 71 26 20 285 | f 108 115 122 286 | f 116 77 117 287 | f 108 122 38 288 | f 44 122 115 289 | f 116 115 108 290 | f 123 44 75 291 | f 23 124 109 292 | f 8 113 120 293 | f 121 114 44 294 | f 108 79 77 295 | f 8 77 7 296 | f 119 118 120 297 | f 115 117 119 298 | f 71 92 87 299 | f 92 94 91 300 | f 52 55 53 301 | f 64 56 62 302 | f 44 31 122 303 | f 92 71 83 304 | f 94 88 91 305 | f 72 107 98 306 | f 125 126 127 307 | f 58 76 57 308 | f 67 79 106 309 | f 66 128 67 310 | f 108 77 116 311 | f 65 83 64 312 | f 83 20 64 313 | f 72 98 73 314 | f 42 31 41 315 | f 31 39 41 316 | f 107 88 94 317 | f 66 129 128 318 | f 79 128 5 319 | f 128 129 5 320 | f 8 120 118 321 | f 64 20 56 322 | f 65 64 46 323 | f 94 98 107 324 | f 40 60 41 325 | f 61 93 59 326 | f 130 101 83 327 | f 67 128 79 328 | f 98 94 97 329 | f 114 120 113 330 | f 131 75 47 331 | f 121 119 114 332 | f 75 44 114 333 | f 82 4 2 334 | f 56 55 63 335 | f 130 129 101 336 | f 66 101 129 337 | f 58 130 76 338 | f 42 37 122 339 | f 2 76 83 340 | f 85 82 84 341 | f 131 47 23 342 | f 54 20 51 343 | f 130 58 129 344 | f 118 119 117 345 | f 4 82 85 346 | f 126 45 44 347 | f 96 83 93 348 | f 94 95 97 349 | f 82 2 83 350 | f 8 118 77 351 | f 20 83 71 352 | f 92 83 96 353 | f 72 39 31 354 | f 88 107 69 355 | f 96 97 95 356 | f 76 6 57 357 | f 83 76 130 358 | f 129 58 5 359 | f 21 132 14 360 | f 22 81 23 361 | f 25 133 13 362 | f 81 134 135 363 | f 136 80 81 364 | f 137 123 75 365 | f 131 137 75 366 | f 138 131 23 367 | f 123 126 44 368 | f 139 24 13 369 | f 32 102 19 370 | f 33 139 13 371 | f 45 32 31 372 | f 102 33 17 373 | f 103 140 104 374 | f 141 45 126 375 | -------------------------------------------------------------------------------- /AHN/DTM/MOORDRECHT/tiles/9/262/342.obj: -------------------------------------------------------------------------------- 1 | v 0.589811169523403955 0.799346434828649199 0.027615520196637485 2 | v 0.589811169523403955 0.796029227529077787 0.194358610075391819 3 | v 0.593128376822976811 0.796029227529077787 0.154568075520389175 4 | v 0.596445584122549000 0.792712020229506376 0.036032987676514285 5 | v 0.672741352012713789 0.875642202718814655 0.285863050987086642 6 | v 0.669424144713141600 0.869007788119671942 0.337632879072234549 7 | v 0.672741352012713789 0.872324995419243354 0.574139292340445140 8 | v 0.662789730113996667 0.862373373520529229 0.334868687053279435 9 | v 0.705913425008438011 0.905497068414969020 0.010222133238171456 10 | v 0.695961803109720112 0.898862653815814316 0.045822608849211251 11 | v 0.702596217708865156 0.902179861115397608 0.024196389594773587 12 | v 0.699279010409292190 0.898862653815814316 0.312237654262449982 13 | v 0.586493962223831877 0.799346434828649199 0.412976478359453281 14 | v 0.586493962223831877 0.802663642128220500 0.475256565923258600 15 | v 0.586493962223831877 0.805980849427791912 0.818645839107866480 16 | v 0.589811169523403955 0.805980849427791912 0.240667182876378061 17 | v 0.596445584122549000 0.766174361832923534 0.050102147439983223 18 | v 0.603079998721693933 0.779443191031208960 0.564795427025245322 19 | v 0.596445584122549000 0.789394812929935075 0.179142862022255850 20 | v 0.603079998721693933 0.782760398330792251 0.200579533937375626 21 | v 0.616348827919983244 0.822566885925660740 0.073570322756765630 22 | v 0.639569279016989567 0.835835715123946277 0.023706521751510980 23 | v 0.642886486316562422 0.842470129723088990 0.477332878376159730 24 | v 0.646203693616134500 0.845787337022660402 0.027003812033551601 25 | v 0.646203693616134500 0.842470129723088990 0.670165707425180335 26 | v 0.603079998721693933 0.766174361832923534 0.526344096903003877 27 | v 0.599762791422121078 0.766174361832923534 0.069353112927864405 28 | v 0.599762791422121078 0.759539947233780710 0.190039388294252765 29 | v 0.596445584122549000 0.749588325335066585 0.285695684275712014 30 | v 0.583176754924259799 0.802663642128220500 0.323880092097326655 31 | v 0.659472522814424589 0.948620763309408810 0.473256404879036308 32 | v 0.656155315514851623 0.941986348710266097 0.045422555960563341 33 | v 0.659472522814424589 0.945303556009837509 0.186354072968443252 34 | v 0.662789730113996667 0.941986348710266097 0.377386880295453642 35 | v 0.606397206021266122 0.769491569132494835 0.112196743937667015 36 | v 0.609714413320838200 0.766174361832923534 0.223425803528634670 37 | v 0.609714413320838200 0.769491569132494835 0.368694138472867972 38 | v 0.613031620620411055 0.769491569132494835 0.055880395598674221 39 | v 0.729133876105443557 0.703147423141055383 0.080655580171440394 40 | v 0.596445584122549000 0.739636703436340581 0.192470106042614136 41 | v 0.636252071717417489 0.825884093225232152 0.128657643584055487 42 | v 0.589811169523403955 0.736319496136769169 0.230523510255200098 43 | v 0.586493962223831877 0.729685081537626457 0.234605096909484778 44 | v 0.589811169523403955 0.733002288837197757 0.372521237311337960 45 | v 0.589811169523403955 0.729685081537626457 0.572197577332732910 46 | v 0.573225133025542677 0.729685081537626457 0.457818359985648349 47 | v 0.606397206021266122 0.812615264026934736 0.787416484446250453 48 | v 0.609714413320838200 0.815932471326506037 0.326517238193198001 49 | v 0.603079998721693933 0.812615264026934736 0.575671382503700313 50 | v 0.599762791422121078 0.812615264026934736 0.032142138952280644 51 | v 0.573225133025542677 0.726367874238055045 0.499571827425274118 52 | v 0.573225133025542677 0.723050666938483633 0.650995557823525695 53 | v 0.576542340325114755 0.726367874238055045 0.171884185673438189 54 | v 0.583176754924259799 0.726367874238055045 0.069118426146395004 55 | v 0.573225133025542677 0.719733459638912221 0.694924317035339079 56 | v 0.566590718426397633 0.719733459638912221 0.114022059920270896 57 | v 0.550004681928535577 0.713099045039769508 0.135777372244971883 58 | v 0.563273511126825555 0.716416252339340920 0.542171960687480636 59 | v 0.559956303827252699 0.713099045039769508 0.579726202425704162 60 | v 0.593128376822976811 0.742953910735923873 0.052866173247249154 61 | v 0.589811169523403955 0.739636703436340581 0.048948106358059872 62 | v 0.596445584122549000 0.746271118035495173 0.105600122239425998 63 | v 0.563273511126825555 0.703147423141055383 0.059813131856055829 64 | v 0.559956303827252699 0.706464630440626795 0.388676303475119611 65 | v 0.556639096527680510 0.703147423141055383 0.094008417396944807 66 | v 0.563273511126825555 0.709781837740198096 0.656455314187090466 67 | v 0.642886486316562422 0.839152922423517578 0.553220671204679548 68 | v 0.629617657118272445 0.825884093225232152 0.000000000000000000 69 | v 0.629617657118272445 0.822566885925660740 0.359691198318520700 70 | v 0.632934864417845300 0.825884093225232152 0.281269733321056425 71 | v 0.659472522814424589 0.859056166220945938 0.571174705847008135 72 | v 0.662789730113996667 0.859056166220945938 0.466979409262506473 73 | v 0.659472522814424589 0.855738958921374526 0.088709195371433111 74 | v 0.676058559312285867 0.882276617317957479 0.263672665184531974 75 | v 0.669424144713141600 0.918765897613254556 0.322864294546967912 76 | v 0.669424144713141600 0.932034726811540093 0.048890826965509324 77 | v 0.593128376822976811 0.733002288837197757 0.269214172634481941 78 | v 0.583176754924259799 0.729685081537626457 0.326924279600595780 79 | v 0.613031620620411055 0.815932471326506037 0.141611347303980006 80 | v 0.616348827919983244 0.819249678626077449 0.253641960462242466 81 | v 0.616348827919983244 0.815932471326506037 0.877065336470694734 82 | v 0.679375766611858722 0.865690580820100530 0.542962664791031724 83 | v 0.652838108215279544 0.845787337022660402 0.251278331408254840 84 | v 0.669424144713141600 0.862373373520529229 0.009227365911079142 85 | v 0.652838108215279544 0.849104544322231813 0.342805383931371610 86 | v 0.649520900915706689 0.845787337022660402 0.639876440077622899 87 | v 0.656155315514851623 0.852421751621803114 0.395830724468541506 88 | v 0.676058559312285867 0.869007788119671942 0.824924383665507022 89 | v 0.672741352012713789 0.865690580820100530 0.526297056069591096 90 | v 0.676058559312285867 0.872324995419243354 0.876982015563043560 91 | v 0.579859547624686833 0.729685081537626457 0.131453998504940772 92 | v 0.705913425008438011 0.892228239216671604 0.553264957386006229 93 | v 0.702596217708865156 0.885593824617528891 0.010211285655991930 94 | v 0.712547839607582278 0.888911031917100192 0.551937192512275465 95 | v 0.715865046907155134 0.888911031917100192 0.693677980653550796 96 | v 0.586493962223831877 0.809298056727363324 0.882356341531376320 97 | v 0.593128376822976811 0.809298056727363324 0.221817606798571071 98 | v 0.596445584122549000 0.809298056727363324 0.321418168713467844 99 | v 0.599762791422121078 0.809298056727363324 0.065449771505272147 100 | v 0.619666035219555322 0.819249678626077449 0.165198388114026096 101 | v 0.619666035219555322 0.815932471326506037 0.499218613817105694 102 | v 0.619666035219555322 0.812615264026934736 0.165163286692600303 103 | v 0.622983242519128178 0.819249678626077449 0.023040226885482153 104 | v 0.619666035219555322 0.822566885925660740 0.483946931588318863 105 | v 0.622983242519128178 0.822566885925660740 0.433483522103529806 106 | v 0.636252071717417489 0.829201300524803453 0.079316586414919205 107 | v 0.609714413320838200 0.809298056727363324 0.303300080191256427 108 | v 0.613031620620411055 0.805980849427791912 0.139058935162544167 109 | v 0.639569279016989567 0.829201300524803453 0.152256190081626913 110 | v 0.642886486316562422 0.832518507824374865 0.701060588764756742 111 | v 0.672741352012713789 0.951937970608980222 0.029536378135120576 112 | v 0.722499461506299290 0.898862653815814316 0.070411372658830879 113 | v 0.715865046907155134 0.892228239216671604 0.207072927286036712 114 | v 0.729133876105443557 0.958572385208122935 0.194950152024392087 115 | v 0.725816668805872256 0.898862653815814316 0.480970115486572036 116 | v 0.705913425008438011 0.895545446516243016 0.048271637145080544 117 | v 0.702596217708865156 0.895545446516243016 0.356610484230401592 118 | v 0.695961803109720112 0.882276617317957479 0.540170589640286525 119 | v 0.699279010409292190 0.885593824617528891 0.617012761649658792 120 | v 0.695961803109720112 0.885593824617528891 0.569790093504150552 121 | v 0.695961803109720112 0.888911031917100192 0.047217453958630834 122 | v 0.699279010409292190 0.888911031917100192 0.469769164756946689 123 | v 0.702596217708865156 0.888911031917100192 0.189461495164111260 124 | v 0.692644595810148034 0.878959410018386067 0.605661006355305509 125 | v 0.702596217708865156 0.892228239216671604 0.579504538028416949 126 | v 0.699279010409292190 0.895545446516243016 0.028453175264621846 127 | v 0.689327388510575845 0.878959410018386067 0.147955530131314433 128 | v 0.606397206021266122 0.772808776432066247 0.128674701975179412 129 | v 0.550004681928535577 0.709781837740198096 0.740240815771939120 130 | v 0.543370267329391310 0.706464630440626795 0.225179773091079616 131 | v 0.550004681928535577 0.706464630440626795 0.698003326161236615 132 | v 0.553321889228108432 0.703147423141055383 0.697599787583981112 133 | v 0.553321889228108432 0.706464630440626795 0.405050078065178454 134 | v 0.556639096527680510 0.706464630440626795 0.010241120035609726 135 | v 0.719182254206726435 0.888911031917100192 0.079588844512977874 136 | v 0.719182254206726435 0.892228239216671604 0.514400635206669898 137 | v 0.722499461506299290 0.895545446516243016 0.864415108364476326 138 | v 0.616348827919983244 0.809298056727363324 0.707686192532169467 139 | v 0.613031620620411055 0.809298056727363324 0.677240339590093443 140 | v 0.609714413320838200 0.812615264026934736 0.331251197341714709 141 | v 0.616348827919983244 0.812615264026934736 0.703979195820530923 142 | v 0.666106937413568745 0.862373373520529229 0.699292080252001735 143 | v 0.669424144713141600 0.865690580820100530 0.717443623974825972 144 | v 0.679375766611858722 0.872324995419243354 0.124434928940223677 145 | v 0.679375766611858722 0.869007788119671942 0.619153136552339944 146 | v 0.573225133025542677 0.716416252339340920 0.154679028115319334 147 | v 0.586493962223831877 0.726367874238055045 0.274591282132882863 148 | v 0.589811169523403955 0.726367874238055045 0.135956568470268963 149 | v 0.642886486316562422 0.835835715123946277 0.606955958639295301 150 | v 0.646203693616134500 0.839152922423517578 0.085086988777786282 151 | v 0.649520900915706689 0.842470129723088990 0.158289471472266741 152 | v 0.543370267329391310 0.709781837740198096 1.000000000000000000 153 | v 0.533418645430674188 0.703147423141055383 0.580905328679804711 154 | v 0.540053060029818455 0.706464630440626795 0.535051218248720151 155 | v 0.536735852730246266 0.703147423141055383 0.688445119061612654 156 | v 0.593128376822976811 0.729685081537626457 0.080655580171440394 157 | v 0.593128376822976811 0.736319496136769169 0.388070413396563563 158 | v 0.606397206021266122 0.766174361832923534 0.657210952395162695 159 | v 0.686010181211002990 0.869007788119671942 0.303783762055169992 160 | v 0.682692973911430911 0.869007788119671942 0.645851506330094582 161 | v 0.523467023531957065 0.958572385208122935 0.058905375451329699 162 | v 0.656155315514851623 0.859056166220945938 0.142711115819849355 163 | v 0.729133876105443557 0.898862653815814316 0.148939722944519765 164 | v 0.729133876105443557 0.895545446516243016 0.694457895848524465 165 | v 0.569907925725969822 0.726367874238055045 0.147641547046580307 166 | v 0.652838108215279544 0.852421751621803114 0.097228309596942314 167 | v 0.676058559312285867 0.875642202718814655 0.708154935753994019 168 | v 0.676058559312285867 0.878959410018386067 0.777172906013709697 169 | v 0.569907925725969822 0.719733459638912221 0.620499581699779257 170 | v 0.566590718426397633 0.716416252339340920 0.058845639357910630 171 | v 0.566590718426397633 0.713099045039769508 0.698241325256880763 172 | v 0.569907925725969822 0.716416252339340920 0.623704042708508877 173 | v 0.689327388510575845 0.875642202718814655 0.682841030476323829 174 | v 0.540053060029818455 0.703147423141055383 0.623635043940236611 175 | v 0.563273511126825555 0.713099045039769508 0.386463695020063391 176 | v 0.566590718426397633 0.709781837740198096 0.241777909056561047 177 | v 0.523467023531957065 0.703147423141055383 0.316677912178355114 178 | v 0.583176754924259799 0.809298056727363324 0.049498781802651354 179 | v 0.596445584122549000 0.742953910735923873 0.301171294047791194 180 | v 0.593128376822976811 0.739636703436340581 0.873842175091448903 181 | v 0.583176754924259799 0.805980849427791912 0.470448497040590441 182 | f 1 2 3 183 | f 2 4 3 184 | f 5 6 7 185 | f 5 8 6 186 | f 9 10 11 187 | f 10 12 11 188 | f 13 1 14 189 | f 15 14 16 190 | f 17 18 19 191 | f 4 19 20 192 | f 21 22 23 193 | f 24 23 25 194 | f 26 27 28 195 | f 29 28 17 196 | f 2 1 13 197 | f 30 13 14 198 | f 31 32 33 199 | f 32 34 33 200 | f 35 36 37 201 | f 36 38 37 202 | f 39 38 40 203 | f 39 41 38 204 | f 42 43 44 205 | f 43 45 44 206 | f 46 17 30 207 | f 27 17 28 208 | f 4 2 19 209 | f 30 17 13 210 | f 47 48 49 211 | f 48 50 49 212 | f 51 52 53 213 | f 54 53 55 214 | f 56 57 58 215 | f 57 59 58 216 | f 60 29 61 217 | f 60 62 29 218 | f 63 64 65 219 | f 63 66 64 220 | f 67 25 23 221 | f 22 67 23 222 | f 68 69 70 223 | f 69 41 70 224 | f 71 72 8 225 | f 71 73 72 226 | f 74 75 5 227 | f 76 75 9 228 | f 45 77 44 229 | f 42 78 43 230 | f 21 79 80 231 | f 79 81 80 232 | f 82 83 39 233 | f 82 84 83 234 | f 85 86 83 235 | f 87 85 83 236 | f 88 7 89 237 | f 5 7 90 238 | f 78 61 91 239 | f 61 46 91 240 | f 92 93 94 241 | f 93 95 94 242 | f 96 16 97 243 | f 16 98 97 244 | f 99 50 98 245 | f 98 50 97 246 | f 100 81 101 247 | f 81 102 101 248 | f 103 100 101 249 | f 103 104 100 250 | f 100 21 80 251 | f 103 105 104 252 | f 106 22 68 253 | f 68 21 104 254 | f 107 99 108 255 | f 99 47 49 256 | f 1 16 14 257 | f 99 98 3 258 | f 41 39 109 259 | f 39 110 109 260 | f 74 10 75 261 | f 34 76 111 262 | f 112 9 113 263 | f 114 9 115 264 | f 116 11 117 265 | f 10 9 75 266 | f 92 94 113 267 | f 116 92 113 268 | f 95 113 94 269 | f 116 113 9 270 | f 118 119 120 271 | f 119 121 120 272 | f 121 119 122 273 | f 119 123 122 274 | f 124 93 118 275 | f 93 119 118 276 | f 123 93 92 277 | f 116 125 92 278 | f 10 121 126 279 | f 127 121 74 280 | f 35 128 27 281 | f 128 35 37 282 | f 129 130 131 283 | f 130 132 131 284 | f 132 133 131 285 | f 132 134 133 286 | f 117 125 116 287 | f 117 12 126 288 | f 126 125 117 289 | f 116 9 11 290 | f 113 135 136 291 | f 135 137 136 292 | f 125 126 122 293 | f 119 93 123 294 | f 112 113 137 295 | f 10 126 12 296 | f 128 38 20 297 | f 108 4 20 298 | f 103 102 69 299 | f 102 41 69 300 | f 107 47 99 301 | f 4 108 99 302 | f 108 138 139 303 | f 140 139 141 304 | f 142 8 72 305 | f 8 143 6 306 | f 144 88 145 307 | f 88 82 145 308 | f 54 146 147 309 | f 146 148 147 310 | f 149 110 150 311 | f 110 151 150 312 | f 152 153 154 313 | f 153 155 154 314 | f 156 40 77 315 | f 40 157 77 316 | f 54 78 91 317 | f 78 147 43 318 | f 42 61 78 319 | f 29 17 61 320 | f 156 77 45 321 | f 157 42 77 322 | f 46 61 17 323 | f 158 28 36 324 | f 26 35 27 325 | f 26 28 158 326 | f 82 159 160 327 | f 159 144 160 328 | f 76 32 75 329 | f 9 111 76 330 | f 114 111 9 331 | f 114 161 111 332 | f 31 161 32 333 | f 24 162 23 334 | f 34 31 33 335 | f 161 31 111 336 | f 112 137 115 337 | f 163 115 164 338 | f 165 52 51 339 | f 54 91 53 340 | f 166 162 24 341 | f 71 162 73 342 | f 90 144 167 343 | f 144 168 167 344 | f 73 84 72 345 | f 162 71 8 346 | f 148 45 147 347 | f 54 147 78 348 | f 148 156 45 349 | f 77 42 44 350 | f 55 52 169 351 | f 56 169 165 352 | f 63 39 148 353 | f 39 156 148 354 | f 17 2 13 355 | f 56 165 57 356 | f 170 171 172 357 | f 171 146 172 358 | f 170 56 58 359 | f 56 172 169 360 | f 105 68 104 361 | f 41 106 70 362 | f 158 35 26 363 | f 158 36 35 364 | f 93 124 159 365 | f 121 127 120 366 | f 10 74 121 367 | f 32 162 75 368 | f 48 140 79 369 | f 48 47 140 370 | f 84 73 83 371 | f 159 82 39 372 | f 89 82 88 373 | f 82 160 145 374 | f 29 36 28 375 | f 108 20 38 376 | f 105 69 68 377 | f 105 103 69 378 | f 138 108 38 379 | f 1 3 98 380 | f 173 127 144 381 | f 124 118 127 382 | f 81 100 80 383 | f 21 48 79 384 | f 142 143 8 385 | f 142 84 143 386 | f 168 144 127 387 | f 168 127 74 388 | f 127 173 124 389 | f 127 118 120 390 | f 12 117 11 391 | f 5 162 8 392 | f 132 130 174 393 | f 155 174 154 394 | f 129 131 133 395 | f 65 134 132 396 | f 134 57 129 397 | f 130 152 154 398 | f 130 154 174 399 | f 134 65 64 400 | f 59 66 175 401 | f 66 171 175 402 | f 51 53 46 403 | f 52 165 169 404 | f 63 146 176 405 | f 146 171 176 406 | f 152 30 177 407 | f 4 99 3 408 | f 50 96 97 409 | f 96 178 15 410 | f 63 148 146 411 | f 39 40 156 412 | f 171 66 176 413 | f 171 170 175 414 | f 166 24 86 415 | f 24 151 86 416 | f 36 40 38 417 | f 38 128 37 418 | f 40 36 179 419 | f 41 102 38 420 | f 149 150 67 421 | f 25 67 150 422 | f 21 23 161 423 | f 110 22 109 424 | f 57 152 129 425 | f 179 180 40 426 | f 52 55 53 427 | f 135 164 137 428 | f 18 20 19 429 | f 102 138 38 430 | f 144 159 173 431 | f 173 159 124 432 | f 121 122 126 433 | f 34 32 76 434 | f 87 166 85 435 | f 73 87 83 436 | f 162 5 75 437 | f 32 23 162 438 | f 57 134 59 439 | f 134 64 59 440 | f 57 30 152 441 | f 30 57 165 442 | f 166 87 162 443 | f 166 86 85 444 | f 91 46 53 445 | f 40 180 157 446 | f 170 172 56 447 | f 165 51 46 448 | f 59 175 58 449 | f 130 129 152 450 | f 140 47 107 451 | f 16 1 98 452 | f 179 36 62 453 | f 62 36 29 454 | f 2 17 19 455 | f 18 27 128 456 | f 180 61 42 457 | f 180 60 61 458 | f 180 179 60 459 | f 27 18 17 460 | f 63 176 66 461 | f 42 157 180 462 | f 66 59 64 463 | f 146 55 172 464 | f 181 177 30 465 | f 170 58 175 466 | f 177 153 152 467 | f 147 45 43 468 | f 55 146 54 469 | f 62 60 179 470 | f 165 46 30 471 | f 20 18 128 472 | f 141 102 81 473 | f 106 109 22 474 | f 151 25 150 475 | f 84 82 89 476 | f 84 142 72 477 | f 73 162 87 478 | f 151 83 86 479 | f 161 23 32 480 | f 93 135 95 481 | f 137 113 136 482 | f 22 149 67 483 | f 22 21 68 484 | f 159 39 135 485 | f 137 164 115 486 | f 163 114 115 487 | f 95 135 113 488 | f 112 115 9 489 | f 123 125 122 490 | f 168 74 5 491 | f 110 39 83 492 | f 159 135 93 493 | f 160 144 145 494 | f 135 39 164 495 | f 144 90 88 496 | f 143 84 89 497 | f 168 5 167 498 | f 123 92 125 499 | f 172 55 169 500 | f 178 177 181 501 | f 134 129 133 502 | f 15 16 96 503 | f 178 181 15 504 | f 108 139 107 505 | f 50 99 49 506 | f 161 177 178 507 | f 15 30 14 508 | f 102 103 101 509 | f 140 107 139 510 | f 21 178 50 511 | f 161 178 21 512 | f 181 30 15 513 | f 141 81 79 514 | f 22 110 149 515 | f 25 151 24 516 | f 106 41 109 517 | f 151 110 83 518 | f 48 21 50 519 | f 111 31 34 520 | f 143 89 6 521 | f 5 90 167 522 | f 96 50 178 523 | f 102 141 138 524 | f 106 68 70 525 | f 104 21 100 526 | f 138 141 139 527 | f 88 90 7 528 | f 141 79 140 529 | f 7 6 89 530 | --------------------------------------------------------------------------------