public void WritePointOptimized(PCXRPoint point) { point.ToByteArray().CopyTo(_Buffer, _PointsBuffered * _Header.Stride * sizeof(float)); _PointsBuffered++; if (_PointsBuffered == _NumberOfPointsToBuffer) { _PointsBuffered = 0; _PointsWritten += _NumberOfPointsToBuffer; } }
public void WritePoint(PCXRPoint point) { if ((_UseBuffer == true) && (_PointsWritten == (_NumberOfPoints - _BufferSpill))) { _UseBuffer = false; } if (_UseBuffer) { if (_PointsBuffered < (_NumberOfPointsToBuffer - 1)) { point.ToByteArray().CopyTo(_Buffer, _PointsBuffered * _Header.Stride * sizeof(float)); _PointsBuffered++; return; } else { try { point.ToByteArray().CopyTo(_Buffer, _PointsBuffered * _Header.Stride * sizeof(float)); _PointsBuffered++; _StreamWriter.Write(_Buffer, 0, _NumberOfPointsToBuffer * _Header.Stride * sizeof(float)); _PointsWritten += _NumberOfPointsToBuffer; } catch (Exception e) { Console.Write(e.Message); } _PointsBuffered = 0; return; } } else { byte[] pointBytes = point.ToByteArray(); _StreamWriter.Write(pointBytes, 0, pointBytes.Length); _PointsWritten++; return; } }