Expand|Select|Wrap|Line Numbers
- [StructLayout(LayoutKind.Sequential, Pack = 1)]
- public struct LasHeader
- {
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
- public string FileSignature;
- [MarshalAs(UnmanagedType.U2)]
- public UInt16 FileSourceId;
- [MarshalAs(UnmanagedType.U2)]
- public ushort Reserved;
- [MarshalAs(UnmanagedType.U4)]
- public ulong ProjectId1;
- [MarshalAs(UnmanagedType.U2)]
- public ushort ProjectId2;
- [MarshalAs(UnmanagedType.U2)]
- public ushort ProjectId3;
- [MarshalAs(UnmanagedType.U1, SizeConst = 8)]
- public byte[] ProjectId4;
- [MarshalAs(UnmanagedType.U1)]
- public byte VersionMajor;
- [MarshalAs(UnmanagedType.U1)]
- public byte VersionMinor;
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
- public string SystemIdentifier;
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
- public string GeneratingSoftware;
- [MarshalAs(UnmanagedType.U2)]
- public ushort FileCreationDayOfYear;
- [MarshalAs(UnmanagedType.U2)]
- public ushort FileCreationYear;
- [MarshalAs(UnmanagedType.U2)]
- public ushort HeaderSize;
- [MarshalAs(UnmanagedType.U4)]
- public ulong OffsetToData;
- [MarshalAs(UnmanagedType.U4)]
- public ulong NumberOfVariableLengthRecords;
- [MarshalAs(UnmanagedType.U1)]
- public byte PointDataFormatId;
- [MarshalAs(UnmanagedType.U2)]
- public ushort PointDataRecordLength;
- [MarshalAs(UnmanagedType.U4)]
- public ulong NumberOfPointRecords;
- [MarshalAs(UnmanagedType.U4, SizeConst = 5)]
- public ulong[] NumberOfPointByReturn;
- [MarshalAs(UnmanagedType.R8)]
- public double XScaleFactor;
- [MarshalAs(UnmanagedType.R8)]
- public double YScaleFactor;
- [MarshalAs(UnmanagedType.R8)]
- public double ZScaleFactor;
- [MarshalAs(UnmanagedType.R8)]
- public double XOffset;
- [MarshalAs(UnmanagedType.R8)]
- public double YOffset;
- [MarshalAs(UnmanagedType.R8)]
- public double ZOffset;
- [MarshalAs(UnmanagedType.R8)]
- public double MaxX;
- [MarshalAs(UnmanagedType.R8)]
- public double MinX;
- [MarshalAs(UnmanagedType.R8)]
- public double MaxY;
- [MarshalAs(UnmanagedType.R8)]
- public double MinY;
- [MarshalAs(UnmanagedType.R8)]
- public double MaxZ;
- [MarshalAs(UnmanagedType.R8)]
- public double MinZ;
- }
Type 'LasHeader' cannot be marshaled as an unmanaged structure; no meaningful size or offset can be computed.
Any ideas ?
Thank you.