namespace Sick.ColaB; /// /// Result of parsing LMDscandata from SICK scanner /// Contains raw scan data that can be converted to application-specific formats /// public sealed class ScanDataResult { /// /// Distance measurements in meters /// public double[] Ranges { get; init; } = []; /// /// Intensity/RSSI values (normalized 0-1), optional /// public double[]? Intensities { get; init; } /// /// Starting angle in degrees /// public double StartAngleDeg { get; init; } /// /// Angular step width in degrees /// public double AngularStepDeg { get; init; } /// /// Scale factor applied to distance values /// public double ScaleFactor { get; init; } = 1.0; /// /// Scale offset applied to distance values /// public double ScaleOffset { get; init; } /// /// Timestamp when data was parsed /// public DateTime Timestamp { get; init; } = DateTime.UtcNow; /// /// Checks if the scan data is valid (has range measurements) /// public bool IsValid => Ranges.Length > 0; }