Files
I150/srcs/RobotNet10/RobotApp/Communication/Sick.ColaB/ScanDataResult.cs
2026-07-03 16:37:12 +07:00

49 lines
1.3 KiB
C#

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