Beispiel #1
0
        public LasFileEnumerator(LasFile file)
        {
            _file   = file;
            _buffer = new byte[BufferSize / _file.Header.PointDataRecordLength * _file.Header.PointDataRecordLength];

            _file.Stream.Seek(_file.Header.OffsetToPointData, SeekOrigin.Begin);

            _streamPosEnd = (long)(_file.Header.OffsetToPointData + _file.Header.PointDataRecordLength * _file.Header.PointCount);

            _handle = GCHandle.Alloc(_buffer, GCHandleType.Pinned);
            var pAddr = Marshal.UnsafeAddrOfPinnedArrayElement(_buffer, 0);

            _pStart = (byte *)pAddr.ToPointer();
            _pEnd   = _pStart;
            _p      = _pStart;

            MoveNextChunk();
        }
Beispiel #2
0
 public LasFileIndexEnumerator(LasFile file) : base(file)
 {
 }