Получить все точки из Pointcloud, где Pointcloud является новым Potree.PointCloudOctree (геометрия) - PullRequest
0 голосов
/ 09 января 2019

Я использую potree для просмотра своей модели. Я хочу получить список всех точек в pointcloud, чтобы добавить событие к каждой точке в зависимости от ее индекса. Могу ли я получить список всех точек без использования инструментов измерения? я хочу получить очки от pointcloud

 Potree.loadPointCloud(cloudPointsPath, "name", e => {
                var pointcloud = e.pointcloud;
                var material = pointcloud.material;
                viewer.scene.addPointCloud(pointcloud);
                material.pointColorType = Potree.PointColorType.RGB;
                material.size = 1;
                material.pointSizeType = Potree.PointSizeType.FIXED;
                material.shape = Potree.PointShape.PARABOLOI;
                viewer.fitToScreen();
            });

1 Ответ

0 голосов
/ 15 января 2019

Я получил список точек, использующих этот код

 function getAllPointsOfPointCloud(pointCloud) {
            var list = [];
            var array = pointCloud.pcoGeometry.root.geometry.attributes.position.array;
            var index = 0;
            for (var i = 0; i < pointCloud.pcoGeometry.root.geometry.attributes.position.length;i=i+3) {
                var x = array[i + 0];
                var y = array[i+ 1];
                var z = array[i + 2];
                let position = new THREE.Vector3(x, y, z);
                position.applyMatrix4(pointCloud.matrixWorld);
                list[index] = position;
                index++;
            }
            return list;
        }
...