| | |
| | | |
| | | private void OnLineReceived(IntPtr pInstance, IntPtr buffer, int points) |
| | | { |
| | | // 实时回调处理:累积行数据 |
| | | if (!isGrabbing) return; |
| | | // 实时回调处理:累积行数据 |
| | | if (!isGrabbing) return; |
| | | |
| | | int lineSize = points * Marshal.SizeOf(typeof(LBPointZA)); |
| | | byte[] lineData = new byte[lineSize]; |
| | | Marshal.Copy(buffer, lineData, 0, lineSize); |
| | | int lineSize = points * Marshal.SizeOf(typeof(LBPointZA)); |
| | | byte[] lineData = new byte[lineSize]; |
| | | Marshal.Copy(buffer, lineData, 0, lineSize); |
| | | |
| | | lock (_bufferLock) |
| | | { |
| | | _lineDataBuffer.Add(lineData); |
| | | _currentLineCount++; |
| | | } |
| | | lock (_bufferLock) |
| | | { |
| | | _lineDataBuffer.Add(lineData); |
| | | _currentLineCount++; |
| | | } |
| | | } |
| | | |
| | | private void OnAcquisitionCompleted(IntPtr pInstance, int nOption) |
| | | { |
| | | // nOption: 0=一批数据结束, 1=全部完成, 2=点云就绪 |
| | | if (nOption == 1 || nOption == 0) |
| | | { |
| | | GenerateIntensityMap(); |
| | | } |
| | | // nOption: 0=一批数据结束, 1=全部完成, 2=点云就绪 |
| | | if (nOption == 1 || nOption == 0) |
| | | { |
| | | GenerateIntensityMap(); |
| | | } |
| | | } |
| | | |
| | | private void GenerateIntensityMap() |