potree-core 1.0.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +64 -64
- package/README.md +198 -200
- package/dist/constants.d.ts +14 -0
- package/dist/dem-node.d.ts +17 -0
- package/dist/features.d.ts +6 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +1 -0
- package/dist/loading/binary-loader.d.ts +35 -0
- package/dist/loading/index.d.ts +3 -0
- package/dist/loading/load-poc.d.ts +14 -0
- package/dist/loading/types.d.ts +2 -0
- package/dist/loading2/OctreeGeometry.d.ts +23 -0
- package/dist/loading2/OctreeGeometryNode.d.ts +40 -0
- package/dist/loading2/OctreeLoader.d.ts +109 -0
- package/dist/loading2/PointAttributes.d.ts +44 -0
- package/dist/loading2/WorkerPool.d.ts +9 -0
- package/dist/loading2/load-octree.d.ts +2 -0
- package/dist/materials/blur-material.d.ts +11 -0
- package/dist/materials/classification.d.ts +2 -0
- package/dist/materials/clipping.d.ts +12 -0
- package/dist/materials/color-encoding.d.ts +4 -0
- package/dist/materials/enums.d.ts +37 -0
- package/dist/materials/gradients/grayscale.d.ts +2 -0
- package/dist/materials/gradients/index.d.ts +7 -0
- package/dist/materials/gradients/inferno.d.ts +2 -0
- package/dist/materials/gradients/plasma.d.ts +2 -0
- package/dist/materials/gradients/rainbow.d.ts +2 -0
- package/dist/materials/gradients/spectral.d.ts +2 -0
- package/dist/materials/gradients/vidris.d.ts +2 -0
- package/dist/materials/gradients/yellow-green.d.ts +2 -0
- package/dist/materials/index.d.ts +7 -0
- package/dist/materials/point-cloud-material.d.ts +180 -0
- package/dist/materials/texture-generation.d.ts +5 -0
- package/dist/materials/types.d.ts +10 -0
- package/dist/point-attributes.d.ts +52 -0
- package/dist/point-cloud-octree-geometry-node.d.ts +73 -0
- package/dist/point-cloud-octree-geometry.d.ts +27 -0
- package/dist/point-cloud-octree-node.d.ts +26 -0
- package/dist/point-cloud-octree-picker.d.ts +45 -0
- package/dist/point-cloud-octree.d.ts +45 -0
- package/dist/point-cloud-tree.d.ts +6 -0
- package/dist/potree.d.ts +37 -0
- package/dist/type-predicates.d.ts +3 -0
- package/dist/types.d.ts +56 -0
- package/dist/utils/bounds.d.ts +6 -0
- package/dist/utils/box3-helper.d.ts +13 -0
- package/dist/utils/lru.d.ts +32 -0
- package/dist/utils/math.d.ts +1 -0
- package/dist/utils/utils.d.ts +6 -0
- package/dist/version.d.ts +9 -0
- package/dist/workers/binary-decoder-worker-internal.d.ts +5 -0
- package/dist/workers/custom-array-view.d.ts +11 -0
- package/package.json +54 -31
- package/build/potree.js +0 -10290
- package/build/potree.min.js +0 -230
- package/build/potree.module.js +0 -10231
- package/data/lion_takanawa/cloud.js +0 -28
- package/data/lion_takanawa/data/r/r.bin +0 -0
- package/data/lion_takanawa/data/r/r.hrc +0 -0
- package/data/lion_takanawa/data/r/r0.bin +0 -0
- package/data/lion_takanawa/data/r/r00.bin +0 -0
- package/data/lion_takanawa/data/r/r001.bin +0 -0
- package/data/lion_takanawa/data/r/r003.bin +0 -0
- package/data/lion_takanawa/data/r/r004.bin +0 -0
- package/data/lion_takanawa/data/r/r005.bin +0 -0
- package/data/lion_takanawa/data/r/r007.bin +0 -0
- package/data/lion_takanawa/data/r/r01.bin +0 -0
- package/data/lion_takanawa/data/r/r012.bin +0 -0
- package/data/lion_takanawa/data/r/r013.bin +0 -0
- package/data/lion_takanawa/data/r/r016.bin +0 -0
- package/data/lion_takanawa/data/r/r017.bin +0 -0
- package/data/lion_takanawa/data/r/r02.bin +0 -0
- package/data/lion_takanawa/data/r/r021.bin +0 -0
- package/data/lion_takanawa/data/r/r023.bin +0 -0
- package/data/lion_takanawa/data/r/r03.bin +0 -0
- package/data/lion_takanawa/data/r/r030.bin +0 -0
- package/data/lion_takanawa/data/r/r031.bin +0 -0
- package/data/lion_takanawa/data/r/r032.bin +0 -0
- package/data/lion_takanawa/data/r/r034.bin +0 -0
- package/data/lion_takanawa/data/r/r035.bin +0 -0
- package/data/lion_takanawa/data/r/r036.bin +0 -0
- package/data/lion_takanawa/data/r/r037.bin +0 -0
- package/data/lion_takanawa/data/r/r04.bin +0 -0
- package/data/lion_takanawa/data/r/r041.bin +0 -0
- package/data/lion_takanawa/data/r/r043.bin +0 -0
- package/data/lion_takanawa/data/r/r045.bin +0 -0
- package/data/lion_takanawa/data/r/r047.bin +0 -0
- package/data/lion_takanawa/data/r/r05.bin +0 -0
- package/data/lion_takanawa/data/r/r052.bin +0 -0
- package/data/lion_takanawa/data/r/r053.bin +0 -0
- package/data/lion_takanawa/data/r/r056.bin +0 -0
- package/data/lion_takanawa/data/r/r057.bin +0 -0
- package/data/lion_takanawa/data/r/r06.bin +0 -0
- package/data/lion_takanawa/data/r/r065.bin +0 -0
- package/data/lion_takanawa/data/r/r067.bin +0 -0
- package/data/lion_takanawa/data/r/r07.bin +0 -0
- package/data/lion_takanawa/data/r/r070.bin +0 -0
- package/data/lion_takanawa/data/r/r071.bin +0 -0
- package/data/lion_takanawa/data/r/r072.bin +0 -0
- package/data/lion_takanawa/data/r/r073.bin +0 -0
- package/data/lion_takanawa/data/r/r074.bin +0 -0
- package/data/lion_takanawa/data/r/r075.bin +0 -0
- package/data/lion_takanawa/data/r/r076.bin +0 -0
- package/data/lion_takanawa/data/r/r077.bin +0 -0
- package/data/lion_takanawa/data/r/r1.bin +0 -0
- package/data/lion_takanawa/data/r/r11.bin +0 -0
- package/data/lion_takanawa/data/r/r116.bin +0 -0
- package/data/lion_takanawa/data/r/r117.bin +0 -0
- package/data/lion_takanawa/data/r/r12.bin +0 -0
- package/data/lion_takanawa/data/r/r124.bin +0 -0
- package/data/lion_takanawa/data/r/r125.bin +0 -0
- package/data/lion_takanawa/data/r/r126.bin +0 -0
- package/data/lion_takanawa/data/r/r127.bin +0 -0
- package/data/lion_takanawa/data/r/r13.bin +0 -0
- package/data/lion_takanawa/data/r/r134.bin +0 -0
- package/data/lion_takanawa/data/r/r135.bin +0 -0
- package/data/lion_takanawa/data/r/r136.bin +0 -0
- package/data/lion_takanawa/data/r/r137.bin +0 -0
- package/data/lion_takanawa/data/r/r14.bin +0 -0
- package/data/lion_takanawa/data/r/r146.bin +0 -0
- package/data/lion_takanawa/data/r/r15.bin +0 -0
- package/data/lion_takanawa/data/r/r152.bin +0 -0
- package/data/lion_takanawa/data/r/r153.bin +0 -0
- package/data/lion_takanawa/data/r/r156.bin +0 -0
- package/data/lion_takanawa/data/r/r157.bin +0 -0
- package/data/lion_takanawa/data/r/r16.bin +0 -0
- package/data/lion_takanawa/data/r/r160.bin +0 -0
- package/data/lion_takanawa/data/r/r161.bin +0 -0
- package/data/lion_takanawa/data/r/r162.bin +0 -0
- package/data/lion_takanawa/data/r/r164.bin +0 -0
- package/data/lion_takanawa/data/r/r165.bin +0 -0
- package/data/lion_takanawa/data/r/r166.bin +0 -0
- package/data/lion_takanawa/data/r/r167.bin +0 -0
- package/data/lion_takanawa/data/r/r17.bin +0 -0
- package/data/lion_takanawa/data/r/r170.bin +0 -0
- package/data/lion_takanawa/data/r/r171.bin +0 -0
- package/data/lion_takanawa/data/r/r173.bin +0 -0
- package/data/lion_takanawa/data/r/r174.bin +0 -0
- package/data/lion_takanawa/data/r/r175.bin +0 -0
- package/data/lion_takanawa/data/r/r176.bin +0 -0
- package/data/lion_takanawa/data/r/r177.bin +0 -0
- package/data/lion_takanawa/data/r/r2.bin +0 -0
- package/data/lion_takanawa/data/r/r21.bin +0 -0
- package/data/lion_takanawa/data/r/r210.bin +0 -0
- package/data/lion_takanawa/data/r/r214.bin +0 -0
- package/data/lion_takanawa/data/r/r215.bin +0 -0
- package/data/lion_takanawa/data/r/r23.bin +0 -0
- package/data/lion_takanawa/data/r/r235.bin +0 -0
- package/data/lion_takanawa/data/r/r24.bin +0 -0
- package/data/lion_takanawa/data/r/r243.bin +0 -0
- package/data/lion_takanawa/data/r/r245.bin +0 -0
- package/data/lion_takanawa/data/r/r247.bin +0 -0
- package/data/lion_takanawa/data/r/r25.bin +0 -0
- package/data/lion_takanawa/data/r/r250.bin +0 -0
- package/data/lion_takanawa/data/r/r251.bin +0 -0
- package/data/lion_takanawa/data/r/r254.bin +0 -0
- package/data/lion_takanawa/data/r/r255.bin +0 -0
- package/data/lion_takanawa/data/r/r256.bin +0 -0
- package/data/lion_takanawa/data/r/r257.bin +0 -0
- package/data/lion_takanawa/data/r/r26.bin +0 -0
- package/data/lion_takanawa/data/r/r261.bin +0 -0
- package/data/lion_takanawa/data/r/r265.bin +0 -0
- package/data/lion_takanawa/data/r/r27.bin +0 -0
- package/data/lion_takanawa/data/r/r270.bin +0 -0
- package/data/lion_takanawa/data/r/r271.bin +0 -0
- package/data/lion_takanawa/data/r/r274.bin +0 -0
- package/data/lion_takanawa/data/r/r275.bin +0 -0
- package/data/lion_takanawa/data/r/r3.bin +0 -0
- package/data/lion_takanawa/data/r/r30.bin +0 -0
- package/data/lion_takanawa/data/r/r304.bin +0 -0
- package/data/lion_takanawa/data/r/r306.bin +0 -0
- package/data/lion_takanawa/data/r/r31.bin +0 -0
- package/data/lion_takanawa/data/r/r314.bin +0 -0
- package/data/lion_takanawa/data/r/r315.bin +0 -0
- package/data/lion_takanawa/data/r/r32.bin +0 -0
- package/data/lion_takanawa/data/r/r324.bin +0 -0
- package/data/lion_takanawa/data/r/r34.bin +0 -0
- package/data/lion_takanawa/data/r/r340.bin +0 -0
- package/data/lion_takanawa/data/r/r341.bin +0 -0
- package/data/lion_takanawa/data/r/r342.bin +0 -0
- package/data/lion_takanawa/data/r/r343.bin +0 -0
- package/data/lion_takanawa/data/r/r344.bin +0 -0
- package/data/lion_takanawa/data/r/r345.bin +0 -0
- package/data/lion_takanawa/data/r/r346.bin +0 -0
- package/data/lion_takanawa/data/r/r347.bin +0 -0
- package/data/lion_takanawa/data/r/r35.bin +0 -0
- package/data/lion_takanawa/data/r/r350.bin +0 -0
- package/data/lion_takanawa/data/r/r351.bin +0 -0
- package/data/lion_takanawa/data/r/r354.bin +0 -0
- package/data/lion_takanawa/data/r/r355.bin +0 -0
- package/data/lion_takanawa/data/r/r36.bin +0 -0
- package/data/lion_takanawa/data/r/r360.bin +0 -0
- package/data/lion_takanawa/data/r/r364.bin +0 -0
- package/data/lion_takanawa/data/r/r4.bin +0 -0
- package/data/lion_takanawa/data/r/r40.bin +0 -0
- package/data/lion_takanawa/data/r/r400.bin +0 -0
- package/data/lion_takanawa/data/r/r401.bin +0 -0
- package/data/lion_takanawa/data/r/r402.bin +0 -0
- package/data/lion_takanawa/data/r/r403.bin +0 -0
- package/data/lion_takanawa/data/r/r406.bin +0 -0
- package/data/lion_takanawa/data/r/r41.bin +0 -0
- package/data/lion_takanawa/data/r/r413.bin +0 -0
- package/data/lion_takanawa/data/r/r42.bin +0 -0
- package/data/lion_takanawa/data/r/r420.bin +0 -0
- package/data/lion_takanawa/data/r/r421.bin +0 -0
- package/data/lion_takanawa/data/r/r422.bin +0 -0
- package/data/lion_takanawa/data/r/r423.bin +0 -0
- package/data/lion_takanawa/data/r/r424.bin +0 -0
- package/data/lion_takanawa/data/r/r426.bin +0 -0
- package/data/lion_takanawa/data/r/r43.bin +0 -0
- package/data/lion_takanawa/data/r/r431.bin +0 -0
- package/data/lion_takanawa/data/r/r6.bin +0 -0
- package/data/lion_takanawa/data/r/r60.bin +0 -0
- package/data/lion_takanawa/data/r/r600.bin +0 -0
- package/data/lion_takanawa/data/r/r601.bin +0 -0
- package/data/lion_takanawa/data/r/r602.bin +0 -0
- package/data/lion_takanawa/data/r/r603.bin +0 -0
- package/data/lion_takanawa/data/r/r604.bin +0 -0
- package/data/lion_takanawa/data/r/r606.bin +0 -0
- package/data/lion_takanawa/data/r/r62.bin +0 -0
- package/data/lion_takanawa/data/r/r620.bin +0 -0
- package/data/lion_takanawa/data/r/r621.bin +0 -0
- package/data/lion_takanawa/data/r/r622.bin +0 -0
- package/data/lion_takanawa/data/r/r624.bin +0 -0
- package/data/lion_takanawa/data/r/r626.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-build.json +0 -7
- package/data/lion_takanawa_ept_bin/ept-data/0-0-0-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-0-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-0-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-1-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-1-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-1-0-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-1-0-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-1-1-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-0-1-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-0-1-2.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-0-2-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-0-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-1-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-1-2.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-2-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-3-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-hierarchy/0-0-0-0.json +0 -18
- package/data/lion_takanawa_ept_bin/ept-sources/0.json +0 -7102
- package/data/lion_takanawa_ept_bin/ept-sources/100.json +0 -7102
- package/data/lion_takanawa_ept_bin/ept-sources/list.json +0 -3402
- package/data/lion_takanawa_ept_bin/ept.json +0 -117
- package/data/lion_takanawa_ept_laz/ept-build.json +0 -7
- package/data/lion_takanawa_ept_laz/ept-data/0-0-0-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-0-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-0-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-1-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-1-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-1-0-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-1-0-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-1-1-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-0-1-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-0-1-2.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-0-2-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-0-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-1-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-1-2.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-2-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-3-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-hierarchy/0-0-0-0.json +0 -18
- package/data/lion_takanawa_ept_laz/ept-sources/0.json +0 -7102
- package/data/lion_takanawa_ept_laz/ept-sources/100.json +0 -7102
- package/data/lion_takanawa_ept_laz/ept-sources/list.json +0 -3402
- package/data/lion_takanawa_ept_laz/ept.json +0 -117
- package/data/lion_takanawa_las/cloud.js +0 -225
- package/data/lion_takanawa_las/data/r.las +0 -0
- package/data/lion_takanawa_las/data/r0.las +0 -0
- package/data/lion_takanawa_las/data/r00.las +0 -0
- package/data/lion_takanawa_las/data/r003.las +0 -0
- package/data/lion_takanawa_las/data/r006.las +0 -0
- package/data/lion_takanawa_las/data/r007.las +0 -0
- package/data/lion_takanawa_las/data/r01.las +0 -0
- package/data/lion_takanawa_las/data/r010.las +0 -0
- package/data/lion_takanawa_las/data/r011.las +0 -0
- package/data/lion_takanawa_las/data/r012.las +0 -0
- package/data/lion_takanawa_las/data/r013.las +0 -0
- package/data/lion_takanawa_las/data/r014.las +0 -0
- package/data/lion_takanawa_las/data/r015.las +0 -0
- package/data/lion_takanawa_las/data/r016.las +0 -0
- package/data/lion_takanawa_las/data/r017.las +0 -0
- package/data/lion_takanawa_las/data/r02.las +0 -0
- package/data/lion_takanawa_las/data/r020.las +0 -0
- package/data/lion_takanawa_las/data/r021.las +0 -0
- package/data/lion_takanawa_las/data/r022.las +0 -0
- package/data/lion_takanawa_las/data/r023.las +0 -0
- package/data/lion_takanawa_las/data/r024.las +0 -0
- package/data/lion_takanawa_las/data/r025.las +0 -0
- package/data/lion_takanawa_las/data/r026.las +0 -0
- package/data/lion_takanawa_las/data/r027.las +0 -0
- package/data/lion_takanawa_las/data/r03.las +0 -0
- package/data/lion_takanawa_las/data/r030.las +0 -0
- package/data/lion_takanawa_las/data/r031.las +0 -0
- package/data/lion_takanawa_las/data/r032.las +0 -0
- package/data/lion_takanawa_las/data/r033.las +0 -0
- package/data/lion_takanawa_las/data/r034.las +0 -0
- package/data/lion_takanawa_las/data/r035.las +0 -0
- package/data/lion_takanawa_las/data/r036.las +0 -0
- package/data/lion_takanawa_las/data/r037.las +0 -0
- package/data/lion_takanawa_las/data/r04.las +0 -0
- package/data/lion_takanawa_las/data/r042.las +0 -0
- package/data/lion_takanawa_las/data/r046.las +0 -0
- package/data/lion_takanawa_las/data/r06.las +0 -0
- package/data/lion_takanawa_las/data/r060.las +0 -0
- package/data/lion_takanawa_las/data/r061.las +0 -0
- package/data/lion_takanawa_las/data/r064.las +0 -0
- package/data/lion_takanawa_las/data/r065.las +0 -0
- package/data/lion_takanawa_las/data/r07.las +0 -0
- package/data/lion_takanawa_las/data/r070.las +0 -0
- package/data/lion_takanawa_las/data/r071.las +0 -0
- package/data/lion_takanawa_las/data/r072.las +0 -0
- package/data/lion_takanawa_las/data/r073.las +0 -0
- package/data/lion_takanawa_las/data/r074.las +0 -0
- package/data/lion_takanawa_las/data/r075.las +0 -0
- package/data/lion_takanawa_las/data/r076.las +0 -0
- package/data/lion_takanawa_las/data/r077.las +0 -0
- package/data/lion_takanawa_las/data/r1.las +0 -0
- package/data/lion_takanawa_las/data/r10.las +0 -0
- package/data/lion_takanawa_las/data/r102.las +0 -0
- package/data/lion_takanawa_las/data/r11.las +0 -0
- package/data/lion_takanawa_las/data/r116.las +0 -0
- package/data/lion_takanawa_las/data/r12.las +0 -0
- package/data/lion_takanawa_las/data/r120.las +0 -0
- package/data/lion_takanawa_las/data/r122.las +0 -0
- package/data/lion_takanawa_las/data/r126.las +0 -0
- package/data/lion_takanawa_las/data/r127.las +0 -0
- package/data/lion_takanawa_las/data/r14.las +0 -0
- package/data/lion_takanawa_las/data/r143.las +0 -0
- package/data/lion_takanawa_las/data/r147.las +0 -0
- package/data/lion_takanawa_las/data/r16.las +0 -0
- package/data/lion_takanawa_las/data/r160.las +0 -0
- package/data/lion_takanawa_las/data/r161.las +0 -0
- package/data/lion_takanawa_las/data/r162.las +0 -0
- package/data/lion_takanawa_las/data/r163.las +0 -0
- package/data/lion_takanawa_las/data/r164.las +0 -0
- package/data/lion_takanawa_las/data/r165.las +0 -0
- package/data/lion_takanawa_las/data/r166.las +0 -0
- package/data/lion_takanawa_las/data/r167.las +0 -0
- package/data/lion_takanawa_las/data/r17.las +0 -0
- package/data/lion_takanawa_las/data/r170.las +0 -0
- package/data/lion_takanawa_las/data/r172.las +0 -0
- package/data/lion_takanawa_las/data/r174.las +0 -0
- package/data/lion_takanawa_las/data/r176.las +0 -0
- package/data/lion_takanawa_las/data/r2.las +0 -0
- package/data/lion_takanawa_las/data/r20.las +0 -0
- package/data/lion_takanawa_las/data/r200.las +0 -0
- package/data/lion_takanawa_las/data/r202.las +0 -0
- package/data/lion_takanawa_las/data/r203.las +0 -0
- package/data/lion_takanawa_las/data/r21.las +0 -0
- package/data/lion_takanawa_las/data/r210.las +0 -0
- package/data/lion_takanawa_las/data/r211.las +0 -0
- package/data/lion_takanawa_las/data/r212.las +0 -0
- package/data/lion_takanawa_las/data/r213.las +0 -0
- package/data/lion_takanawa_las/data/r214.las +0 -0
- package/data/lion_takanawa_las/data/r215.las +0 -0
- package/data/lion_takanawa_las/data/r216.las +0 -0
- package/data/lion_takanawa_las/data/r217.las +0 -0
- package/data/lion_takanawa_las/data/r22.las +0 -0
- package/data/lion_takanawa_las/data/r220.las +0 -0
- package/data/lion_takanawa_las/data/r222.las +0 -0
- package/data/lion_takanawa_las/data/r224.las +0 -0
- package/data/lion_takanawa_las/data/r225.las +0 -0
- package/data/lion_takanawa_las/data/r23.las +0 -0
- package/data/lion_takanawa_las/data/r231.las +0 -0
- package/data/lion_takanawa_las/data/r233.las +0 -0
- package/data/lion_takanawa_las/data/r235.las +0 -0
- package/data/lion_takanawa_las/data/r237.las +0 -0
- package/data/lion_takanawa_las/data/r25.las +0 -0
- package/data/lion_takanawa_las/data/r250.las +0 -0
- package/data/lion_takanawa_las/data/r251.las +0 -0
- package/data/lion_takanawa_las/data/r252.las +0 -0
- package/data/lion_takanawa_las/data/r253.las +0 -0
- package/data/lion_takanawa_las/data/r254.las +0 -0
- package/data/lion_takanawa_las/data/r255.las +0 -0
- package/data/lion_takanawa_las/data/r256.las +0 -0
- package/data/lion_takanawa_las/data/r257.las +0 -0
- package/data/lion_takanawa_las/data/r26.las +0 -0
- package/data/lion_takanawa_las/data/r260.las +0 -0
- package/data/lion_takanawa_las/data/r261.las +0 -0
- package/data/lion_takanawa_las/data/r262.las +0 -0
- package/data/lion_takanawa_las/data/r263.las +0 -0
- package/data/lion_takanawa_las/data/r265.las +0 -0
- package/data/lion_takanawa_las/data/r266.las +0 -0
- package/data/lion_takanawa_las/data/r267.las +0 -0
- package/data/lion_takanawa_las/data/r27.las +0 -0
- package/data/lion_takanawa_las/data/r270.las +0 -0
- package/data/lion_takanawa_las/data/r271.las +0 -0
- package/data/lion_takanawa_las/data/r272.las +0 -0
- package/data/lion_takanawa_las/data/r273.las +0 -0
- package/data/lion_takanawa_las/data/r274.las +0 -0
- package/data/lion_takanawa_las/data/r275.las +0 -0
- package/data/lion_takanawa_las/data/r276.las +0 -0
- package/data/lion_takanawa_las/data/r277.las +0 -0
- package/data/lion_takanawa_las/data/r3.las +0 -0
- package/data/lion_takanawa_las/data/r30.las +0 -0
- package/data/lion_takanawa_las/data/r304.las +0 -0
- package/data/lion_takanawa_las/data/r305.las +0 -0
- package/data/lion_takanawa_las/data/r32.las +0 -0
- package/data/lion_takanawa_las/data/r320.las +0 -0
- package/data/lion_takanawa_las/data/r322.las +0 -0
- package/data/lion_takanawa_las/data/r326.las +0 -0
- package/data/lion_takanawa_las/data/r34.las +0 -0
- package/data/lion_takanawa_las/data/r340.las +0 -0
- package/data/lion_takanawa_las/data/r341.las +0 -0
- package/data/lion_takanawa_las/data/r342.las +0 -0
- package/data/lion_takanawa_las/data/r344.las +0 -0
- package/data/lion_takanawa_las/data/r345.las +0 -0
- package/data/lion_takanawa_las/data/r346.las +0 -0
- package/data/lion_takanawa_las/data/r35.las +0 -0
- package/data/lion_takanawa_las/data/r350.las +0 -0
- package/data/lion_takanawa_las/data/r354.las +0 -0
- package/data/lion_takanawa_las/data/r36.las +0 -0
- package/data/lion_takanawa_las/data/r360.las +0 -0
- package/data/lion_takanawa_las/data/r361.las +0 -0
- package/data/lion_takanawa_las/data/r364.las +0 -0
- package/data/lion_takanawa_las/data/r37.las +0 -0
- package/data/lion_takanawa_las/data/r370.las +0 -0
- package/data/lion_takanawa_las/data/r4.las +0 -0
- package/data/lion_takanawa_las/data/r40.las +0 -0
- package/data/lion_takanawa_las/data/r400.las +0 -0
- package/data/lion_takanawa_las/data/r402.las +0 -0
- package/data/lion_takanawa_las/data/r42.las +0 -0
- package/data/lion_takanawa_las/data/r420.las +0 -0
- package/data/lion_takanawa_las/data/r421.las +0 -0
- package/data/lion_takanawa_las/data/r422.las +0 -0
- package/data/lion_takanawa_las/data/r423.las +0 -0
- package/data/lion_takanawa_las/data/r424.las +0 -0
- package/data/lion_takanawa_las/data/r426.las +0 -0
- package/data/lion_takanawa_las/data/r43.las +0 -0
- package/data/lion_takanawa_las/data/r430.las +0 -0
- package/data/lion_takanawa_las/data/r431.las +0 -0
- package/data/lion_takanawa_las/data/r432.las +0 -0
- package/data/lion_takanawa_las/data/r433.las +0 -0
- package/data/lion_takanawa_las/data/r5.las +0 -0
- package/data/lion_takanawa_las/data/r52.las +0 -0
- package/data/lion_takanawa_las/data/r522.las +0 -0
- package/data/lion_takanawa_las/data/r6.las +0 -0
- package/data/lion_takanawa_las/data/r60.las +0 -0
- package/data/lion_takanawa_las/data/r600.las +0 -0
- package/data/lion_takanawa_las/data/r601.las +0 -0
- package/data/lion_takanawa_las/data/r602.las +0 -0
- package/data/lion_takanawa_las/data/r603.las +0 -0
- package/data/lion_takanawa_las/data/r604.las +0 -0
- package/data/lion_takanawa_las/data/r606.las +0 -0
- package/data/lion_takanawa_las/data/r61.las +0 -0
- package/data/lion_takanawa_las/data/r610.las +0 -0
- package/data/lion_takanawa_las/data/r611.las +0 -0
- package/data/lion_takanawa_las/data/r612.las +0 -0
- package/data/lion_takanawa_las/data/r613.las +0 -0
- package/data/lion_takanawa_las/data/r62.las +0 -0
- package/data/lion_takanawa_las/data/r620.las +0 -0
- package/data/lion_takanawa_las/data/r621.las +0 -0
- package/data/lion_takanawa_las/data/r623.las +0 -0
- package/data/lion_takanawa_las/data/r624.las +0 -0
- package/data/lion_takanawa_las/data/r625.las +0 -0
- package/data/lion_takanawa_las/data/r626.las +0 -0
- package/data/lion_takanawa_las/data/r627.las +0 -0
- package/data/lion_takanawa_las/data/r63.las +0 -0
- package/data/lion_takanawa_las/data/r630.las +0 -0
- package/data/lion_takanawa_las/data/r631.las +0 -0
- package/data/lion_takanawa_las/data/r632.las +0 -0
- package/data/lion_takanawa_las/data/r633.las +0 -0
- package/data/lion_takanawa_las/data/r636.las +0 -0
- package/data/lion_takanawa_las/data/r7.las +0 -0
- package/data/lion_takanawa_las/data/r70.las +0 -0
- package/data/lion_takanawa_las/data/r700.las +0 -0
- package/data/lion_takanawa_laz/cloud.js +0 -225
- package/data/lion_takanawa_laz/data/r.laz +0 -0
- package/data/lion_takanawa_laz/data/r0.laz +0 -0
- package/data/lion_takanawa_laz/data/r00.laz +0 -0
- package/data/lion_takanawa_laz/data/r003.laz +0 -0
- package/data/lion_takanawa_laz/data/r006.laz +0 -0
- package/data/lion_takanawa_laz/data/r007.laz +0 -0
- package/data/lion_takanawa_laz/data/r01.laz +0 -0
- package/data/lion_takanawa_laz/data/r010.laz +0 -0
- package/data/lion_takanawa_laz/data/r011.laz +0 -0
- package/data/lion_takanawa_laz/data/r012.laz +0 -0
- package/data/lion_takanawa_laz/data/r013.laz +0 -0
- package/data/lion_takanawa_laz/data/r014.laz +0 -0
- package/data/lion_takanawa_laz/data/r015.laz +0 -0
- package/data/lion_takanawa_laz/data/r016.laz +0 -0
- package/data/lion_takanawa_laz/data/r017.laz +0 -0
- package/data/lion_takanawa_laz/data/r02.laz +0 -0
- package/data/lion_takanawa_laz/data/r020.laz +0 -0
- package/data/lion_takanawa_laz/data/r021.laz +0 -0
- package/data/lion_takanawa_laz/data/r022.laz +0 -0
- package/data/lion_takanawa_laz/data/r023.laz +0 -0
- package/data/lion_takanawa_laz/data/r024.laz +0 -0
- package/data/lion_takanawa_laz/data/r025.laz +0 -0
- package/data/lion_takanawa_laz/data/r026.laz +0 -0
- package/data/lion_takanawa_laz/data/r027.laz +0 -0
- package/data/lion_takanawa_laz/data/r03.laz +0 -0
- package/data/lion_takanawa_laz/data/r030.laz +0 -0
- package/data/lion_takanawa_laz/data/r031.laz +0 -0
- package/data/lion_takanawa_laz/data/r032.laz +0 -0
- package/data/lion_takanawa_laz/data/r033.laz +0 -0
- package/data/lion_takanawa_laz/data/r034.laz +0 -0
- package/data/lion_takanawa_laz/data/r035.laz +0 -0
- package/data/lion_takanawa_laz/data/r036.laz +0 -0
- package/data/lion_takanawa_laz/data/r037.laz +0 -0
- package/data/lion_takanawa_laz/data/r04.laz +0 -0
- package/data/lion_takanawa_laz/data/r042.laz +0 -0
- package/data/lion_takanawa_laz/data/r046.laz +0 -0
- package/data/lion_takanawa_laz/data/r06.laz +0 -0
- package/data/lion_takanawa_laz/data/r060.laz +0 -0
- package/data/lion_takanawa_laz/data/r061.laz +0 -0
- package/data/lion_takanawa_laz/data/r064.laz +0 -0
- package/data/lion_takanawa_laz/data/r065.laz +0 -0
- package/data/lion_takanawa_laz/data/r07.laz +0 -0
- package/data/lion_takanawa_laz/data/r070.laz +0 -0
- package/data/lion_takanawa_laz/data/r071.laz +0 -0
- package/data/lion_takanawa_laz/data/r072.laz +0 -0
- package/data/lion_takanawa_laz/data/r073.laz +0 -0
- package/data/lion_takanawa_laz/data/r074.laz +0 -0
- package/data/lion_takanawa_laz/data/r075.laz +0 -0
- package/data/lion_takanawa_laz/data/r076.laz +0 -0
- package/data/lion_takanawa_laz/data/r077.laz +0 -0
- package/data/lion_takanawa_laz/data/r1.laz +0 -0
- package/data/lion_takanawa_laz/data/r10.laz +0 -0
- package/data/lion_takanawa_laz/data/r102.laz +0 -0
- package/data/lion_takanawa_laz/data/r11.laz +0 -0
- package/data/lion_takanawa_laz/data/r116.laz +0 -0
- package/data/lion_takanawa_laz/data/r12.laz +0 -0
- package/data/lion_takanawa_laz/data/r120.laz +0 -0
- package/data/lion_takanawa_laz/data/r122.laz +0 -0
- package/data/lion_takanawa_laz/data/r126.laz +0 -0
- package/data/lion_takanawa_laz/data/r127.laz +0 -0
- package/data/lion_takanawa_laz/data/r14.laz +0 -0
- package/data/lion_takanawa_laz/data/r143.laz +0 -0
- package/data/lion_takanawa_laz/data/r147.laz +0 -0
- package/data/lion_takanawa_laz/data/r16.laz +0 -0
- package/data/lion_takanawa_laz/data/r160.laz +0 -0
- package/data/lion_takanawa_laz/data/r161.laz +0 -0
- package/data/lion_takanawa_laz/data/r162.laz +0 -0
- package/data/lion_takanawa_laz/data/r163.laz +0 -0
- package/data/lion_takanawa_laz/data/r164.laz +0 -0
- package/data/lion_takanawa_laz/data/r165.laz +0 -0
- package/data/lion_takanawa_laz/data/r166.laz +0 -0
- package/data/lion_takanawa_laz/data/r167.laz +0 -0
- package/data/lion_takanawa_laz/data/r17.laz +0 -0
- package/data/lion_takanawa_laz/data/r170.laz +0 -0
- package/data/lion_takanawa_laz/data/r172.laz +0 -0
- package/data/lion_takanawa_laz/data/r174.laz +0 -0
- package/data/lion_takanawa_laz/data/r176.laz +0 -0
- package/data/lion_takanawa_laz/data/r2.laz +0 -0
- package/data/lion_takanawa_laz/data/r20.laz +0 -0
- package/data/lion_takanawa_laz/data/r200.laz +0 -0
- package/data/lion_takanawa_laz/data/r202.laz +0 -0
- package/data/lion_takanawa_laz/data/r203.laz +0 -0
- package/data/lion_takanawa_laz/data/r21.laz +0 -0
- package/data/lion_takanawa_laz/data/r210.laz +0 -0
- package/data/lion_takanawa_laz/data/r211.laz +0 -0
- package/data/lion_takanawa_laz/data/r212.laz +0 -0
- package/data/lion_takanawa_laz/data/r213.laz +0 -0
- package/data/lion_takanawa_laz/data/r214.laz +0 -0
- package/data/lion_takanawa_laz/data/r215.laz +0 -0
- package/data/lion_takanawa_laz/data/r216.laz +0 -0
- package/data/lion_takanawa_laz/data/r217.laz +0 -0
- package/data/lion_takanawa_laz/data/r22.laz +0 -0
- package/data/lion_takanawa_laz/data/r220.laz +0 -0
- package/data/lion_takanawa_laz/data/r222.laz +0 -0
- package/data/lion_takanawa_laz/data/r224.laz +0 -0
- package/data/lion_takanawa_laz/data/r225.laz +0 -0
- package/data/lion_takanawa_laz/data/r23.laz +0 -0
- package/data/lion_takanawa_laz/data/r231.laz +0 -0
- package/data/lion_takanawa_laz/data/r233.laz +0 -0
- package/data/lion_takanawa_laz/data/r235.laz +0 -0
- package/data/lion_takanawa_laz/data/r237.laz +0 -0
- package/data/lion_takanawa_laz/data/r25.laz +0 -0
- package/data/lion_takanawa_laz/data/r250.laz +0 -0
- package/data/lion_takanawa_laz/data/r251.laz +0 -0
- package/data/lion_takanawa_laz/data/r252.laz +0 -0
- package/data/lion_takanawa_laz/data/r253.laz +0 -0
- package/data/lion_takanawa_laz/data/r254.laz +0 -0
- package/data/lion_takanawa_laz/data/r255.laz +0 -0
- package/data/lion_takanawa_laz/data/r256.laz +0 -0
- package/data/lion_takanawa_laz/data/r257.laz +0 -0
- package/data/lion_takanawa_laz/data/r26.laz +0 -0
- package/data/lion_takanawa_laz/data/r260.laz +0 -0
- package/data/lion_takanawa_laz/data/r261.laz +0 -0
- package/data/lion_takanawa_laz/data/r262.laz +0 -0
- package/data/lion_takanawa_laz/data/r263.laz +0 -0
- package/data/lion_takanawa_laz/data/r265.laz +0 -0
- package/data/lion_takanawa_laz/data/r266.laz +0 -0
- package/data/lion_takanawa_laz/data/r267.laz +0 -0
- package/data/lion_takanawa_laz/data/r27.laz +0 -0
- package/data/lion_takanawa_laz/data/r270.laz +0 -0
- package/data/lion_takanawa_laz/data/r271.laz +0 -0
- package/data/lion_takanawa_laz/data/r272.laz +0 -0
- package/data/lion_takanawa_laz/data/r273.laz +0 -0
- package/data/lion_takanawa_laz/data/r274.laz +0 -0
- package/data/lion_takanawa_laz/data/r275.laz +0 -0
- package/data/lion_takanawa_laz/data/r276.laz +0 -0
- package/data/lion_takanawa_laz/data/r277.laz +0 -0
- package/data/lion_takanawa_laz/data/r3.laz +0 -0
- package/data/lion_takanawa_laz/data/r30.laz +0 -0
- package/data/lion_takanawa_laz/data/r304.laz +0 -0
- package/data/lion_takanawa_laz/data/r305.laz +0 -0
- package/data/lion_takanawa_laz/data/r32.laz +0 -0
- package/data/lion_takanawa_laz/data/r320.laz +0 -0
- package/data/lion_takanawa_laz/data/r322.laz +0 -0
- package/data/lion_takanawa_laz/data/r326.laz +0 -0
- package/data/lion_takanawa_laz/data/r34.laz +0 -0
- package/data/lion_takanawa_laz/data/r340.laz +0 -0
- package/data/lion_takanawa_laz/data/r341.laz +0 -0
- package/data/lion_takanawa_laz/data/r342.laz +0 -0
- package/data/lion_takanawa_laz/data/r344.laz +0 -0
- package/data/lion_takanawa_laz/data/r345.laz +0 -0
- package/data/lion_takanawa_laz/data/r346.laz +0 -0
- package/data/lion_takanawa_laz/data/r35.laz +0 -0
- package/data/lion_takanawa_laz/data/r350.laz +0 -0
- package/data/lion_takanawa_laz/data/r354.laz +0 -0
- package/data/lion_takanawa_laz/data/r36.laz +0 -0
- package/data/lion_takanawa_laz/data/r360.laz +0 -0
- package/data/lion_takanawa_laz/data/r361.laz +0 -0
- package/data/lion_takanawa_laz/data/r364.laz +0 -0
- package/data/lion_takanawa_laz/data/r37.laz +0 -0
- package/data/lion_takanawa_laz/data/r370.laz +0 -0
- package/data/lion_takanawa_laz/data/r4.laz +0 -0
- package/data/lion_takanawa_laz/data/r40.laz +0 -0
- package/data/lion_takanawa_laz/data/r400.laz +0 -0
- package/data/lion_takanawa_laz/data/r402.laz +0 -0
- package/data/lion_takanawa_laz/data/r42.laz +0 -0
- package/data/lion_takanawa_laz/data/r420.laz +0 -0
- package/data/lion_takanawa_laz/data/r421.laz +0 -0
- package/data/lion_takanawa_laz/data/r422.laz +0 -0
- package/data/lion_takanawa_laz/data/r423.laz +0 -0
- package/data/lion_takanawa_laz/data/r424.laz +0 -0
- package/data/lion_takanawa_laz/data/r426.laz +0 -0
- package/data/lion_takanawa_laz/data/r43.laz +0 -0
- package/data/lion_takanawa_laz/data/r430.laz +0 -0
- package/data/lion_takanawa_laz/data/r431.laz +0 -0
- package/data/lion_takanawa_laz/data/r432.laz +0 -0
- package/data/lion_takanawa_laz/data/r433.laz +0 -0
- package/data/lion_takanawa_laz/data/r5.laz +0 -0
- package/data/lion_takanawa_laz/data/r52.laz +0 -0
- package/data/lion_takanawa_laz/data/r522.laz +0 -0
- package/data/lion_takanawa_laz/data/r6.laz +0 -0
- package/data/lion_takanawa_laz/data/r60.laz +0 -0
- package/data/lion_takanawa_laz/data/r600.laz +0 -0
- package/data/lion_takanawa_laz/data/r601.laz +0 -0
- package/data/lion_takanawa_laz/data/r602.laz +0 -0
- package/data/lion_takanawa_laz/data/r603.laz +0 -0
- package/data/lion_takanawa_laz/data/r604.laz +0 -0
- package/data/lion_takanawa_laz/data/r606.laz +0 -0
- package/data/lion_takanawa_laz/data/r61.laz +0 -0
- package/data/lion_takanawa_laz/data/r610.laz +0 -0
- package/data/lion_takanawa_laz/data/r611.laz +0 -0
- package/data/lion_takanawa_laz/data/r612.laz +0 -0
- package/data/lion_takanawa_laz/data/r613.laz +0 -0
- package/data/lion_takanawa_laz/data/r62.laz +0 -0
- package/data/lion_takanawa_laz/data/r620.laz +0 -0
- package/data/lion_takanawa_laz/data/r621.laz +0 -0
- package/data/lion_takanawa_laz/data/r623.laz +0 -0
- package/data/lion_takanawa_laz/data/r624.laz +0 -0
- package/data/lion_takanawa_laz/data/r625.laz +0 -0
- package/data/lion_takanawa_laz/data/r626.laz +0 -0
- package/data/lion_takanawa_laz/data/r627.laz +0 -0
- package/data/lion_takanawa_laz/data/r63.laz +0 -0
- package/data/lion_takanawa_laz/data/r630.laz +0 -0
- package/data/lion_takanawa_laz/data/r631.laz +0 -0
- package/data/lion_takanawa_laz/data/r632.laz +0 -0
- package/data/lion_takanawa_laz/data/r633.laz +0 -0
- package/data/lion_takanawa_laz/data/r636.laz +0 -0
- package/data/lion_takanawa_laz/data/r7.laz +0 -0
- package/data/lion_takanawa_laz/data/r70.laz +0 -0
- package/data/lion_takanawa_laz/data/r700.laz +0 -0
- package/index.html +0 -138
- package/lib/threejs/OrbitControls.js +0 -1043
- package/lib/threejs/three.min.js +0 -975
- package/rollup.config.js +0 -16
- package/screenshot.png +0 -0
- package/source/Global.js +0 -42
- package/source/Gradients.js +0 -116
- package/source/Main.js +0 -67
- package/source/PointAttributes.js +0 -174
- package/source/Points.js +0 -59
- package/source/Potree.js +0 -570
- package/source/Shader.js +0 -270
- package/source/Shaders.js +0 -892
- package/source/WebGLBuffer.js +0 -13
- package/source/WebGLTexture.js +0 -193
- package/source/lib/BinaryHeap.js +0 -138
- package/source/loaders/BinaryLoader.js +0 -165
- package/source/loaders/EptLoader.js +0 -25
- package/source/loaders/GreyhoundBinaryLoader.js +0 -155
- package/source/loaders/GreyhoundLoader.js +0 -252
- package/source/loaders/GreyhoundUtils.js +0 -224
- package/source/loaders/LASLAZLoader.js +0 -235
- package/source/loaders/LASLoader.js +0 -368
- package/source/loaders/POCLoader.js +0 -188
- package/source/loaders/ept/EptBinaryLoader.js +0 -115
- package/source/loaders/ept/EptLaszipLoader.js +0 -184
- package/source/objects/BasicGroup.js +0 -203
- package/source/objects/Group.js +0 -614
- package/source/pointcloud/DEM.js +0 -245
- package/source/pointcloud/DEMNode.js +0 -169
- package/source/pointcloud/PointCloudArena4D.js +0 -688
- package/source/pointcloud/PointCloudOctree.js +0 -1117
- package/source/pointcloud/PointCloudTree.js +0 -42
- package/source/pointcloud/geometries/PointCloudArena4DGeometry.js +0 -467
- package/source/pointcloud/geometries/PointCloudEptGeometry.js +0 -341
- package/source/pointcloud/geometries/PointCloudGreyhoundGeometry.js +0 -371
- package/source/pointcloud/geometries/PointCloudOctreeGeometry.js +0 -299
- package/source/pointcloud/materials/PointCloudMaterial.js +0 -1177
- package/source/utils/HelperUtils.js +0 -55
- package/source/utils/LRU.js +0 -210
- package/source/utils/VersionUtils.js +0 -45
- package/source/utils/WorkerManager.js +0 -85
- package/source/workers/BinaryDecoderWorker.js +0 -417
- package/source/workers/DEMWorker.js +0 -47
- package/source/workers/EptBinaryDecoderWorker.js +0 -209
- package/source/workers/EptLaszipDecoderWorker.js +0 -176
- package/source/workers/GreyhoundBinaryDecoderWorker.js +0 -504
- package/source/workers/LASDecoderWorker.js +0 -137
- package/source/workers/LASLAZWorker.js +0 -49756
|
@@ -1,417 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function CustomView(buffer)
|
|
4
|
-
{
|
|
5
|
-
this.buffer = buffer;
|
|
6
|
-
this.u8 = new Uint8Array(buffer);
|
|
7
|
-
|
|
8
|
-
var tmp = new ArrayBuffer(4);
|
|
9
|
-
var tmpf = new Float32Array(tmp);
|
|
10
|
-
var tmpu8 = new Uint8Array(tmp);
|
|
11
|
-
|
|
12
|
-
this.getUint32 = function(i)
|
|
13
|
-
{
|
|
14
|
-
return (this.u8[i + 3] << 24) | (this.u8[i + 2] << 16) | (this.u8[i + 1] << 8) | this.u8[i];
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
this.getUint16 = function(i)
|
|
18
|
-
{
|
|
19
|
-
return (this.u8[i + 1] << 8) | this.u8[i];
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
this.getFloat32 = function(i)
|
|
23
|
-
{
|
|
24
|
-
tmpu8[0] = this.u8[i + 0];
|
|
25
|
-
tmpu8[1] = this.u8[i + 1];
|
|
26
|
-
tmpu8[2] = this.u8[i + 2];
|
|
27
|
-
tmpu8[3] = this.u8[i + 3];
|
|
28
|
-
|
|
29
|
-
return tmpf[0];
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
this.getUint8 = function(i)
|
|
33
|
-
{
|
|
34
|
-
return this.u8[i];
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
onmessage = function(event)
|
|
39
|
-
{
|
|
40
|
-
try
|
|
41
|
-
{
|
|
42
|
-
var buffer = event.data.buffer;
|
|
43
|
-
var pointAttributes = event.data.pointAttributes;
|
|
44
|
-
var numPoints = buffer.byteLength / pointAttributes.byteSize;
|
|
45
|
-
var cv = new CustomView(buffer);
|
|
46
|
-
var version = new Version(event.data.version);
|
|
47
|
-
var nodeOffset = event.data.offset;
|
|
48
|
-
var scale = event.data.scale;
|
|
49
|
-
var spacing = event.data.spacing;
|
|
50
|
-
var hasChildren = event.data.hasChildren;
|
|
51
|
-
var name = event.data.name;
|
|
52
|
-
|
|
53
|
-
var tightBoxMin = [ Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY ];
|
|
54
|
-
var tightBoxMax = [ Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY ];
|
|
55
|
-
var mean = [0, 0, 0];
|
|
56
|
-
|
|
57
|
-
var attributeBuffers = {};
|
|
58
|
-
var inOffset = 0;
|
|
59
|
-
|
|
60
|
-
for(var pointAttribute of pointAttributes.attributes)
|
|
61
|
-
{
|
|
62
|
-
if(pointAttribute.name === PointAttribute.POSITION_CARTESIAN.name)
|
|
63
|
-
{
|
|
64
|
-
var buff = new ArrayBuffer(numPoints * 4 * 3);
|
|
65
|
-
var positions = new Float32Array(buff);
|
|
66
|
-
|
|
67
|
-
for(var j = 0; j < numPoints; j++)
|
|
68
|
-
{
|
|
69
|
-
var x, y, z;
|
|
70
|
-
|
|
71
|
-
if(version.newerThan("1.3"))
|
|
72
|
-
{
|
|
73
|
-
x = (cv.getUint32(inOffset + j * pointAttributes.byteSize + 0, true) * scale);
|
|
74
|
-
y = (cv.getUint32(inOffset + j * pointAttributes.byteSize + 4, true) * scale);
|
|
75
|
-
z = (cv.getUint32(inOffset + j * pointAttributes.byteSize + 8, true) * scale);
|
|
76
|
-
}
|
|
77
|
-
else
|
|
78
|
-
{
|
|
79
|
-
x = cv.getFloat32(j * pointAttributes.byteSize + 0, true) + nodeOffset[0];
|
|
80
|
-
y = cv.getFloat32(j * pointAttributes.byteSize + 4, true) + nodeOffset[1];
|
|
81
|
-
z = cv.getFloat32(j * pointAttributes.byteSize + 8, true) + nodeOffset[2];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
positions[3 * j + 0] = x;
|
|
85
|
-
positions[3 * j + 1] = y;
|
|
86
|
-
positions[3 * j + 2] = z;
|
|
87
|
-
|
|
88
|
-
mean[0] += x / numPoints;
|
|
89
|
-
mean[1] += y / numPoints;
|
|
90
|
-
mean[2] += z / numPoints;
|
|
91
|
-
|
|
92
|
-
tightBoxMin[0] = Math.min(tightBoxMin[0], x);
|
|
93
|
-
tightBoxMin[1] = Math.min(tightBoxMin[1], y);
|
|
94
|
-
tightBoxMin[2] = Math.min(tightBoxMin[2], z);
|
|
95
|
-
|
|
96
|
-
tightBoxMax[0] = Math.max(tightBoxMax[0], x);
|
|
97
|
-
tightBoxMax[1] = Math.max(tightBoxMax[1], y);
|
|
98
|
-
tightBoxMax[2] = Math.max(tightBoxMax[2], z);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
102
|
-
} else if(pointAttribute.name === PointAttribute.COLOR_PACKED.name)
|
|
103
|
-
{
|
|
104
|
-
var buff = new ArrayBuffer(numPoints * 4);
|
|
105
|
-
var colors = new Uint8Array(buff);
|
|
106
|
-
|
|
107
|
-
for(var j = 0; j < numPoints; j++)
|
|
108
|
-
{
|
|
109
|
-
colors[4 * j + 0] = cv.getUint8(inOffset + j * pointAttributes.byteSize + 0);
|
|
110
|
-
colors[4 * j + 1] = cv.getUint8(inOffset + j * pointAttributes.byteSize + 1);
|
|
111
|
-
colors[4 * j + 2] = cv.getUint8(inOffset + j * pointAttributes.byteSize + 2);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
115
|
-
}
|
|
116
|
-
else if(pointAttribute.name === PointAttribute.INTENSITY.name)
|
|
117
|
-
{
|
|
118
|
-
var buff = new ArrayBuffer(numPoints * 4);
|
|
119
|
-
var intensities = new Float32Array(buff);
|
|
120
|
-
|
|
121
|
-
for(var j = 0; j < numPoints; j++)
|
|
122
|
-
{
|
|
123
|
-
var intensity = cv.getUint16(inOffset + j * pointAttributes.byteSize, true);
|
|
124
|
-
intensities[j] = intensity;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
128
|
-
}
|
|
129
|
-
else if(pointAttribute.name === PointAttribute.CLASSIFICATION.name)
|
|
130
|
-
{
|
|
131
|
-
var buff = new ArrayBuffer(numPoints);
|
|
132
|
-
var classifications = new Uint8Array(buff);
|
|
133
|
-
|
|
134
|
-
for(var j = 0; j < numPoints; j++)
|
|
135
|
-
{
|
|
136
|
-
var classification = cv.getUint8(inOffset + j * pointAttributes.byteSize);
|
|
137
|
-
classifications[j] = classification;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
141
|
-
}
|
|
142
|
-
else if(pointAttribute.name === PointAttribute.NORMAL_SPHEREMAPPED.name)
|
|
143
|
-
{
|
|
144
|
-
var buff = new ArrayBuffer(numPoints * 4 * 3);
|
|
145
|
-
var normals = new Float32Array(buff);
|
|
146
|
-
|
|
147
|
-
for(var j = 0; j < numPoints; j++)
|
|
148
|
-
{
|
|
149
|
-
var bx = cv.getUint8(inOffset + j * pointAttributes.byteSize + 0);
|
|
150
|
-
var by = cv.getUint8(inOffset + j * pointAttributes.byteSize + 1);
|
|
151
|
-
|
|
152
|
-
var ex = bx / 255;
|
|
153
|
-
var ey = by / 255;
|
|
154
|
-
|
|
155
|
-
var nx = ex * 2 - 1;
|
|
156
|
-
var ny = ey * 2 - 1;
|
|
157
|
-
var nz = 1;
|
|
158
|
-
var nw = -1;
|
|
159
|
-
|
|
160
|
-
var l = (nx * (-nx)) + (ny * (-ny)) + (nz * (-nw));
|
|
161
|
-
nz = l;
|
|
162
|
-
nx = nx * Math.sqrt(l);
|
|
163
|
-
ny = ny * Math.sqrt(l);
|
|
164
|
-
|
|
165
|
-
nx = nx * 2;
|
|
166
|
-
ny = ny * 2;
|
|
167
|
-
nz = nz * 2 - 1;
|
|
168
|
-
|
|
169
|
-
normals[3 * j + 0] = nx;
|
|
170
|
-
normals[3 * j + 1] = ny;
|
|
171
|
-
normals[3 * j + 2] = nz;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
175
|
-
}
|
|
176
|
-
else if(pointAttribute.name === PointAttribute.NORMAL_OCT16.name)
|
|
177
|
-
{
|
|
178
|
-
var buff = new ArrayBuffer(numPoints * 4 * 3);
|
|
179
|
-
var normals = new Float32Array(buff);
|
|
180
|
-
|
|
181
|
-
for(var j = 0; j < numPoints; j++) {
|
|
182
|
-
var bx = cv.getUint8(inOffset + j * pointAttributes.byteSize + 0);
|
|
183
|
-
var by = cv.getUint8(inOffset + j * pointAttributes.byteSize + 1);
|
|
184
|
-
|
|
185
|
-
var u = (bx / 255) * 2 - 1;
|
|
186
|
-
var v = (by / 255) * 2 - 1;
|
|
187
|
-
|
|
188
|
-
var z = 1 - Math.abs(u) - Math.abs(v);
|
|
189
|
-
|
|
190
|
-
var x = 0;
|
|
191
|
-
var y = 0;
|
|
192
|
-
if(z >= 0) {
|
|
193
|
-
x = u;
|
|
194
|
-
y = v;
|
|
195
|
-
} else {
|
|
196
|
-
x = -(v / Math.sign(v) - 1) / Math.sign(u);
|
|
197
|
-
y = -(u / Math.sign(u) - 1) / Math.sign(v);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
var length = Math.sqrt(x * x + y * y + z * z);
|
|
201
|
-
x = x / length;
|
|
202
|
-
y = y / length;
|
|
203
|
-
z = z / length;
|
|
204
|
-
|
|
205
|
-
normals[3 * j + 0] = x;
|
|
206
|
-
normals[3 * j + 1] = y;
|
|
207
|
-
normals[3 * j + 2] = z;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
211
|
-
} else if(pointAttribute.name === PointAttribute.NORMAL.name) {
|
|
212
|
-
var buff = new ArrayBuffer(numPoints * 4 * 3);
|
|
213
|
-
var normals = new Float32Array(buff);
|
|
214
|
-
|
|
215
|
-
for(var j = 0; j < numPoints; j++) {
|
|
216
|
-
var x = cv.getFloat32(inOffset + j * pointAttributes.byteSize + 0, true);
|
|
217
|
-
var y = cv.getFloat32(inOffset + j * pointAttributes.byteSize + 4, true);
|
|
218
|
-
var z = cv.getFloat32(inOffset + j * pointAttributes.byteSize + 8, true);
|
|
219
|
-
|
|
220
|
-
normals[3 * j + 0] = x;
|
|
221
|
-
normals[3 * j + 1] = y;
|
|
222
|
-
normals[3 * j + 2] = z;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
attributeBuffers[pointAttribute.name] = {buffer: buff, attribute: pointAttribute};
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
inOffset += pointAttribute.byteSize;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
//add indices
|
|
232
|
-
var buff = new ArrayBuffer(numPoints * 4);
|
|
233
|
-
var indices = new Uint32Array(buff);
|
|
234
|
-
|
|
235
|
-
for(var i = 0; i < numPoints; i++)
|
|
236
|
-
{
|
|
237
|
-
indices[i] = i;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
attributeBuffers[PointAttribute.INDICES.name] = {buffer: buff, attribute: PointAttribute.INDICES};
|
|
241
|
-
|
|
242
|
-
var message =
|
|
243
|
-
{
|
|
244
|
-
buffer: buffer,
|
|
245
|
-
mean: mean,
|
|
246
|
-
attributeBuffers: attributeBuffers,
|
|
247
|
-
tightBoundingBox: {min: tightBoxMin, max: tightBoxMax},
|
|
248
|
-
};
|
|
249
|
-
|
|
250
|
-
var transferables = [];
|
|
251
|
-
for(var property in message.attributeBuffers)
|
|
252
|
-
{
|
|
253
|
-
transferables.push(message.attributeBuffers[property].buffer);
|
|
254
|
-
}
|
|
255
|
-
transferables.push(buffer);
|
|
256
|
-
|
|
257
|
-
postMessage(message, transferables);
|
|
258
|
-
}
|
|
259
|
-
catch(e)
|
|
260
|
-
{
|
|
261
|
-
postMessage({error: "Exeption thrown during execution."});
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
function Version(version)
|
|
267
|
-
{
|
|
268
|
-
this.version = version;
|
|
269
|
-
var vmLength = (version.indexOf(".") === -1) ? version.length : version.indexOf(".");
|
|
270
|
-
this.versionMajor = parseInt(version.substr(0, vmLength));
|
|
271
|
-
this.versionMinor = parseInt(version.substr(vmLength + 1));
|
|
272
|
-
|
|
273
|
-
if(this.versionMinor.length === 0)
|
|
274
|
-
{
|
|
275
|
-
this.versionMinor = 0;
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
|
|
279
|
-
Version.prototype.newerThan = function(version)
|
|
280
|
-
{
|
|
281
|
-
var v = new Version(version);
|
|
282
|
-
|
|
283
|
-
if((this.versionMajor > v.versionMajor) || (this.versionMajor === v.versionMajor && this.versionMinor > v.versionMinor))
|
|
284
|
-
{
|
|
285
|
-
return true;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return false;
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
var PointAttributeNames =
|
|
292
|
-
{
|
|
293
|
-
POSITION_CARTESIAN: 0, //float x, y, z,
|
|
294
|
-
COLOR_PACKED: 1, //byte r, g, b, a, I: [0,1]
|
|
295
|
-
COLOR_FLOATS_1: 2, //float r, g, b, I: [0,1]
|
|
296
|
-
COLOR_FLOATS_255: 3, //float r, g, b, I: [0,255]
|
|
297
|
-
NORMAL_FLOATS: 4, //float x, y, z,
|
|
298
|
-
FILLER: 5,
|
|
299
|
-
INTENSITY: 6,
|
|
300
|
-
CLASSIFICATION: 7,
|
|
301
|
-
NORMAL_SPHEREMAPPED: 8,
|
|
302
|
-
NORMAL_OCT16: 9,
|
|
303
|
-
NORMAL: 10,
|
|
304
|
-
RETURN_NUMBER: 11,
|
|
305
|
-
NUMBER_OF_RETURNS: 12,
|
|
306
|
-
SOURCE_ID: 13,
|
|
307
|
-
INDICES: 14,
|
|
308
|
-
SPACING: 15
|
|
309
|
-
};
|
|
310
|
-
|
|
311
|
-
/**
|
|
312
|
-
* Some types of possible point attribute data formats
|
|
313
|
-
*
|
|
314
|
-
* @class
|
|
315
|
-
*/
|
|
316
|
-
var PointAttributeTypes =
|
|
317
|
-
{
|
|
318
|
-
DATA_TYPE_DOUBLE: {ordinal: 0, size: 8},
|
|
319
|
-
DATA_TYPE_FLOAT: {ordinal: 1, size: 4},
|
|
320
|
-
DATA_TYPE_INT8: {ordinal: 2, size: 1},
|
|
321
|
-
DATA_TYPE_UINT8: {ordinal: 3, size: 1},
|
|
322
|
-
DATA_TYPE_INT16: {ordinal: 4, size: 2},
|
|
323
|
-
DATA_TYPE_UINT16: {ordinal: 5, size: 2},
|
|
324
|
-
DATA_TYPE_INT32: {ordinal: 6, size: 4},
|
|
325
|
-
DATA_TYPE_UINT32: {ordinal: 7, size: 4},
|
|
326
|
-
DATA_TYPE_INT64: {ordinal: 8, size: 8},
|
|
327
|
-
DATA_TYPE_UINT64: {ordinal: 9, size: 8}
|
|
328
|
-
};
|
|
329
|
-
|
|
330
|
-
var i = 0;
|
|
331
|
-
for(var obj in PointAttributeTypes)
|
|
332
|
-
{
|
|
333
|
-
PointAttributeTypes[i] = PointAttributeTypes[obj];
|
|
334
|
-
i++;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
function PointAttribute(name, type, numElements)
|
|
338
|
-
{
|
|
339
|
-
this.name = name;
|
|
340
|
-
this.type = type;
|
|
341
|
-
this.numElements = numElements;
|
|
342
|
-
this.byteSize = this.numElements * this.type.size;
|
|
343
|
-
};
|
|
344
|
-
|
|
345
|
-
PointAttribute.POSITION_CARTESIAN = new PointAttribute(PointAttributeNames.POSITION_CARTESIAN, PointAttributeTypes.DATA_TYPE_FLOAT, 3);
|
|
346
|
-
PointAttribute.RGBA_PACKED = new PointAttribute(PointAttributeNames.COLOR_PACKED, PointAttributeTypes.DATA_TYPE_INT8, 4);
|
|
347
|
-
PointAttribute.COLOR_PACKED = PointAttribute.RGBA_PACKED;
|
|
348
|
-
PointAttribute.RGB_PACKED = new PointAttribute(PointAttributeNames.COLOR_PACKED, PointAttributeTypes.DATA_TYPE_INT8, 3);
|
|
349
|
-
PointAttribute.NORMAL_FLOATS = new PointAttribute(PointAttributeNames.NORMAL_FLOATS, PointAttributeTypes.DATA_TYPE_FLOAT, 3);
|
|
350
|
-
PointAttribute.FILLER_1B = new PointAttribute(PointAttributeNames.FILLER, PointAttributeTypes.DATA_TYPE_UINT8, 1);
|
|
351
|
-
PointAttribute.INTENSITY = new PointAttribute(PointAttributeNames.INTENSITY, PointAttributeTypes.DATA_TYPE_UINT16, 1);
|
|
352
|
-
PointAttribute.CLASSIFICATION = new PointAttribute(PointAttributeNames.CLASSIFICATION, PointAttributeTypes.DATA_TYPE_UINT8, 1);
|
|
353
|
-
PointAttribute.NORMAL_SPHEREMAPPED = new PointAttribute(PointAttributeNames.NORMAL_SPHEREMAPPED, PointAttributeTypes.DATA_TYPE_UINT8, 2);
|
|
354
|
-
PointAttribute.NORMAL_OCT16 = new PointAttribute(PointAttributeNames.NORMAL_OCT16, PointAttributeTypes.DATA_TYPE_UINT8, 2);
|
|
355
|
-
PointAttribute.NORMAL = new PointAttribute(PointAttributeNames.NORMAL, PointAttributeTypes.DATA_TYPE_FLOAT, 3);
|
|
356
|
-
PointAttribute.RETURN_NUMBER = new PointAttribute(PointAttributeNames.RETURN_NUMBER, PointAttributeTypes.DATA_TYPE_UINT8, 1);
|
|
357
|
-
PointAttribute.NUMBER_OF_RETURNS = new PointAttribute(PointAttributeNames.NUMBER_OF_RETURNS, PointAttributeTypes.DATA_TYPE_UINT8, 1);
|
|
358
|
-
PointAttribute.SOURCE_ID = new PointAttribute(PointAttributeNames.SOURCE_ID, PointAttributeTypes.DATA_TYPE_UINT8, 1);
|
|
359
|
-
PointAttribute.INDICES = new PointAttribute(PointAttributeNames.INDICES, PointAttributeTypes.DATA_TYPE_UINT32, 1);
|
|
360
|
-
PointAttribute.SPACING = new PointAttribute(PointAttributeNames.SPACING, PointAttributeTypes.DATA_TYPE_FLOAT, 1);
|
|
361
|
-
|
|
362
|
-
function PointAttributes(pointAttributes)
|
|
363
|
-
{
|
|
364
|
-
this.attributes = [];
|
|
365
|
-
this.byteSize = 0;
|
|
366
|
-
this.size = 0;
|
|
367
|
-
|
|
368
|
-
if(pointAttributes != null)
|
|
369
|
-
{
|
|
370
|
-
for(var i = 0; i < pointAttributes.length; i++)
|
|
371
|
-
{
|
|
372
|
-
var pointAttributeName = pointAttributes[i];
|
|
373
|
-
var pointAttribute = PointAttribute[pointAttributeName];
|
|
374
|
-
this.attributes.push(pointAttribute);
|
|
375
|
-
this.byteSize += pointAttribute.byteSize;
|
|
376
|
-
this.size++;
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
};
|
|
380
|
-
|
|
381
|
-
PointAttributes.prototype.add = function(pointAttribute)
|
|
382
|
-
{
|
|
383
|
-
this.attributes.push(pointAttribute);
|
|
384
|
-
this.byteSize += pointAttribute.byteSize;
|
|
385
|
-
this.size++;
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
PointAttributes.prototype.hasColors = function()
|
|
389
|
-
{
|
|
390
|
-
for(var name in this.attributes)
|
|
391
|
-
{
|
|
392
|
-
var pointAttribute = this.attributes[name];
|
|
393
|
-
if(pointAttribute.name === PointAttributeNames.COLOR_PACKED)
|
|
394
|
-
{
|
|
395
|
-
return true;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
return false;
|
|
400
|
-
};
|
|
401
|
-
|
|
402
|
-
PointAttributes.prototype.hasNormals = function()
|
|
403
|
-
{
|
|
404
|
-
for(var name in this.attributes)
|
|
405
|
-
{
|
|
406
|
-
var pointAttribute = this.attributes[name];
|
|
407
|
-
if(
|
|
408
|
-
pointAttribute === PointAttribute.NORMAL_SPHEREMAPPED ||
|
|
409
|
-
pointAttribute === PointAttribute.NORMAL_FLOATS ||
|
|
410
|
-
pointAttribute === PointAttribute.NORMAL ||
|
|
411
|
-
pointAttribute === PointAttribute.NORMAL_OCT16) {
|
|
412
|
-
return true;
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
return false;
|
|
417
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
onmessage = function(event)
|
|
4
|
-
{
|
|
5
|
-
var boundingBox = event.data.boundingBox;
|
|
6
|
-
var position = new Float32Array(event.data.position);
|
|
7
|
-
var numPoints = position.length / 3;
|
|
8
|
-
var width = 64, height = 64;
|
|
9
|
-
|
|
10
|
-
var boxSize =
|
|
11
|
-
{
|
|
12
|
-
x: boundingBox.max[0] - boundingBox.min[0],
|
|
13
|
-
y: boundingBox.max[1] - boundingBox.min[1],
|
|
14
|
-
z: boundingBox.max[2] - boundingBox.min[2]
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
var dem = new Float32Array(width * height);
|
|
18
|
-
dem.fill(-Infinity);
|
|
19
|
-
|
|
20
|
-
for(var i = 0; i < numPoints; i++)
|
|
21
|
-
{
|
|
22
|
-
var x = position[3 * i + 0];
|
|
23
|
-
var y = position[3 * i + 1];
|
|
24
|
-
var z = position[3 * i + 2];
|
|
25
|
-
|
|
26
|
-
var dx = x / boxSize.x;
|
|
27
|
-
var dy = y / boxSize.y;
|
|
28
|
-
|
|
29
|
-
var ix = parseInt(Math.min(width * dx, width - 1));
|
|
30
|
-
var iy = parseInt(Math.min(height * dy, height - 1));
|
|
31
|
-
|
|
32
|
-
var index = ix + width * iy;
|
|
33
|
-
dem[index] = z;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
var message =
|
|
37
|
-
{
|
|
38
|
-
dem:
|
|
39
|
-
{
|
|
40
|
-
width: width,
|
|
41
|
-
height: height,
|
|
42
|
-
data: dem.buffer
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
postMessage(message, [message.dem.data]);
|
|
47
|
-
};
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
Potree = { };
|
|
2
|
-
|
|
3
|
-
onmessage = function(event) {
|
|
4
|
-
let buffer = event.data.buffer;
|
|
5
|
-
let view = new DataView(buffer);
|
|
6
|
-
let schema = event.data.schema;
|
|
7
|
-
let scale = event.data.scale;
|
|
8
|
-
let offset = event.data.offset;
|
|
9
|
-
let mins = event.data.mins;
|
|
10
|
-
|
|
11
|
-
let dimensions = schema.reduce((p, c) => {
|
|
12
|
-
p[c.name] = c;
|
|
13
|
-
return p;
|
|
14
|
-
}, { });
|
|
15
|
-
|
|
16
|
-
let dimOffset = (name) => {
|
|
17
|
-
let offset = 0;
|
|
18
|
-
for (var i = 0; i < schema.length; ++i) {
|
|
19
|
-
if (schema[i].name == name) return offset;
|
|
20
|
-
offset += schema[i].size;
|
|
21
|
-
}
|
|
22
|
-
return undefined;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
let getExtractor = (name) => {
|
|
26
|
-
let offset = dimOffset(name);
|
|
27
|
-
let type = dimensions[name].type;
|
|
28
|
-
let size = dimensions[name].size;
|
|
29
|
-
|
|
30
|
-
if (type == "signed") switch (size) {
|
|
31
|
-
case 1: return (p) => view.getInt8(p + offset);
|
|
32
|
-
case 2: return (p) => view.getInt16(p + offset, true);
|
|
33
|
-
case 4: return (p) => view.getInt32(p + offset, true);
|
|
34
|
-
case 8: return (p) => view.getInt64(p + offset, true);
|
|
35
|
-
}
|
|
36
|
-
if (type == "unsigned") switch (size) {
|
|
37
|
-
case 1: return (p) => view.getUint8(p + offset);
|
|
38
|
-
case 2: return (p) => view.getUint16(p + offset, true);
|
|
39
|
-
case 4: return (p) => view.getUint32(p + offset, true);
|
|
40
|
-
case 8: return (p) => view.getUint64(p + offset, true);
|
|
41
|
-
}
|
|
42
|
-
if (type == "float") switch (size) {
|
|
43
|
-
case 4: return (p) => view.getFloat32(p + offset, true);
|
|
44
|
-
case 8: return (p) => view.getFloat64(p + offset, true);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
let str = JSON.stringify(dimensions[name]);
|
|
48
|
-
throw new Error(`Invalid dimension specification for ${name}: ${str}`);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
let pointSize = schema.reduce((p, c) => p + c.size, 0);
|
|
52
|
-
let numPoints = buffer.byteLength / pointSize;
|
|
53
|
-
|
|
54
|
-
let xyzBuffer, rgbBuffer, intensityBuffer, classificationBuffer,
|
|
55
|
-
returnNumberBuffer, numberOfReturnsBuffer, pointSourceIdBuffer;
|
|
56
|
-
let xyz, rgb, intensity, classification, returnNumber, numberOfReturns,
|
|
57
|
-
pointSourceId;
|
|
58
|
-
let xyzExtractor, rgbExtractor, intensityExtractor, classificationExtractor,
|
|
59
|
-
returnNumberExtractor, numberOfReturnsExtractor, pointSourceIdExtractor;
|
|
60
|
-
let twoByteColor = false;
|
|
61
|
-
|
|
62
|
-
if (dimensions["X"] && dimensions["Y"] && dimensions["Z"]) {
|
|
63
|
-
xyzBuffer = new ArrayBuffer(numPoints * 4 * 3);
|
|
64
|
-
xyz = new Float32Array(xyzBuffer);
|
|
65
|
-
xyzExtractor = [
|
|
66
|
-
getExtractor("X"),
|
|
67
|
-
getExtractor("Y"),
|
|
68
|
-
getExtractor("Z")
|
|
69
|
-
];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (dimensions["Red"] && dimensions["Green"] && dimensions["Blue"]) {
|
|
73
|
-
rgbBuffer = new ArrayBuffer(numPoints * 4);
|
|
74
|
-
rgb = new Uint8Array(rgbBuffer);
|
|
75
|
-
rgbExtractor = [
|
|
76
|
-
getExtractor("Red"),
|
|
77
|
-
getExtractor("Green"),
|
|
78
|
-
getExtractor("Blue")
|
|
79
|
-
];
|
|
80
|
-
|
|
81
|
-
let r, g, b, pos;
|
|
82
|
-
for (let i = 0; i < numPoints && !twoByteColor; ++i) {
|
|
83
|
-
pos = i * pointSize;
|
|
84
|
-
r = rgbExtractor[0](pos);
|
|
85
|
-
g = rgbExtractor[1](pos);
|
|
86
|
-
b = rgbExtractor[2](pos);
|
|
87
|
-
if (r > 255 || g > 255 || b > 255) twoByteColor = true;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (dimensions["Intensity"]) {
|
|
92
|
-
intensityBuffer = new ArrayBuffer(numPoints * 4);
|
|
93
|
-
intensity = new Float32Array(intensityBuffer);
|
|
94
|
-
intensityExtractor = getExtractor("Intensity");
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if (dimensions["Classification"]) {
|
|
98
|
-
classificationBuffer = new ArrayBuffer(numPoints);
|
|
99
|
-
classification = new Uint8Array(classificationBuffer);
|
|
100
|
-
classificationExtractor = getExtractor("Classification");
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (dimensions["ReturnNumber"]) {
|
|
104
|
-
returnNumberBuffer = new ArrayBuffer(numPoints);
|
|
105
|
-
returnNumber = new Uint8Array(returnNumberBuffer);
|
|
106
|
-
returnNumberExtractor = getExtractor("ReturnNumber");
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (dimensions["NumberOfReturns"]) {
|
|
110
|
-
numberOfReturnsBuffer = new ArrayBuffer(numPoints);
|
|
111
|
-
numberOfReturns = new Uint8Array(numberOfReturnsBuffer);
|
|
112
|
-
numberOfReturnsExtractor = getExtractor("NumberOfReturns");
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
if (dimensions["PointSourceId"]) {
|
|
116
|
-
pointSourceIdBuffer = new ArrayBuffer(numPoints * 2);
|
|
117
|
-
pointSourceId = new Uint16Array(pointSourceIdBuffer);
|
|
118
|
-
pointSourceIdExtractor = getExtractor("PointSourceId");
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
let mean = [0, 0, 0];
|
|
122
|
-
let bounds = {
|
|
123
|
-
min: [Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE],
|
|
124
|
-
max: [-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE],
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
let x, y, z, r, g, b;
|
|
128
|
-
for (let i = 0; i < numPoints; ++i) {
|
|
129
|
-
let pos = i * pointSize;
|
|
130
|
-
if (xyz) {
|
|
131
|
-
x = xyzExtractor[0](pos) * scale.x + offset.x - mins[0];
|
|
132
|
-
y = xyzExtractor[1](pos) * scale.y + offset.y - mins[1];
|
|
133
|
-
z = xyzExtractor[2](pos) * scale.z + offset.z - mins[2];
|
|
134
|
-
|
|
135
|
-
mean[0] += x / numPoints;
|
|
136
|
-
mean[1] += y / numPoints;
|
|
137
|
-
mean[2] += z / numPoints;
|
|
138
|
-
|
|
139
|
-
bounds.min[0] = Math.min(bounds.min[0], x);
|
|
140
|
-
bounds.min[1] = Math.min(bounds.min[1], y);
|
|
141
|
-
bounds.min[2] = Math.min(bounds.min[2], z);
|
|
142
|
-
|
|
143
|
-
bounds.max[0] = Math.max(bounds.max[0], x);
|
|
144
|
-
bounds.max[1] = Math.max(bounds.max[1], y);
|
|
145
|
-
bounds.max[2] = Math.max(bounds.max[2], z);
|
|
146
|
-
|
|
147
|
-
xyz[3 * i + 0] = x;
|
|
148
|
-
xyz[3 * i + 1] = y;
|
|
149
|
-
xyz[3 * i + 2] = z;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (rgb) {
|
|
153
|
-
r = rgbExtractor[0](pos);
|
|
154
|
-
g = rgbExtractor[1](pos);
|
|
155
|
-
b = rgbExtractor[2](pos);
|
|
156
|
-
|
|
157
|
-
if (twoByteColor) {
|
|
158
|
-
r /= 256;
|
|
159
|
-
g /= 256;
|
|
160
|
-
b /= 256;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
rgb[4 * i + 0] = r;
|
|
164
|
-
rgb[4 * i + 1] = g;
|
|
165
|
-
rgb[4 * i + 2] = b;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
if (intensity) intensity[i] = intensityExtractor(pos);
|
|
169
|
-
if (classification) classification[i] = classificationExtractor(pos);
|
|
170
|
-
if (returnNumber) returnNumber[i] = returnNumberExtractor(pos);
|
|
171
|
-
if (numberOfReturns) numberOfReturns[i] = numberOfReturnsExtractor(pos);
|
|
172
|
-
if (pointSourceId) pointSourceId[i] = pointSourceIdExtractor(pos);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
let indicesBuffer = new ArrayBuffer(numPoints * 4);
|
|
176
|
-
let indices = new Uint32Array(indicesBuffer);
|
|
177
|
-
for (let i = 0; i < numPoints; ++i) {
|
|
178
|
-
indices[i] = i;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
let message = {
|
|
182
|
-
numPoints: numPoints,
|
|
183
|
-
tightBoundingBox: bounds,
|
|
184
|
-
mean: mean,
|
|
185
|
-
|
|
186
|
-
position: xyzBuffer,
|
|
187
|
-
color: rgbBuffer,
|
|
188
|
-
intensity: intensityBuffer,
|
|
189
|
-
classification: classificationBuffer,
|
|
190
|
-
returnNumber: returnNumberBuffer,
|
|
191
|
-
numberOfReturns: numberOfReturnsBuffer,
|
|
192
|
-
pointSourceId: pointSourceIdBuffer,
|
|
193
|
-
indices: indicesBuffer
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
let transferables = [
|
|
197
|
-
message.position,
|
|
198
|
-
message.color,
|
|
199
|
-
message.intensity,
|
|
200
|
-
message.classification,
|
|
201
|
-
message.returnNumber,
|
|
202
|
-
message.numberOfReturns,
|
|
203
|
-
message.pointSourceId,
|
|
204
|
-
message.indices
|
|
205
|
-
].filter((v) => v);
|
|
206
|
-
|
|
207
|
-
postMessage(message, transferables);
|
|
208
|
-
}
|
|
209
|
-
|