Esempio n. 1
0
        /// <inheritdoc/>
        protected override void PassPointToChild(PointCloudPoint point)
        {
            var childIndex = TreeUtility.GetQuadtreeChildIndex(NodeRecord.Bounds, point.Position);

            if (ChildFileCounts[childIndex] == 0 && ChildCounts[childIndex] == 0)
            {
                var childRecord = CreateChildRecord(childIndex);
                ChildNodeRecords.Add(childRecord);
            }

            ChildBuffers[childIndex][ChildCounts[childIndex]++] = point;

            if (ChildCounts[childIndex] == Settings.chunkSize)
            {
                FlushChildFile(childIndex);
            }
        }