namespace Sick.SafetyScanners.DataStructures; /// /// Represents a single scan point from the SICK Safety Scanner /// public sealed class ScanPoint { /// /// Gets the angle in sensor coordinates (radians) /// public double Angle { get; init; } /// /// Gets the distance of the measured scanpoint (mm) /// public ushort Distance { get; init; } /// /// Gets the reflectivity value (0-255) /// public byte Reflectivity { get; init; } /// /// Gets whether the scanpoint is valid /// public bool IsValid { get; init; } /// /// Gets whether the scanpoint is infinite (no object detected) /// public bool IsInfinite { get; init; } /// /// Gets whether there is glare in the scanpoint /// public bool HasGlare { get; init; } /// /// Gets whether the scanpoint detects a reflector /// public bool IsReflector { get; init; } /// /// Gets whether the scanpoint is contaminated /// public bool IsContaminated { get; init; } /// /// Gets whether there is a contamination warning /// public bool HasContaminationWarning { get; init; } public ScanPoint(double angle, ushort distance, byte reflectivity, bool isValid, bool isInfinite, bool hasGlare, bool isReflector, bool isContaminated, bool hasContaminationWarning) { Angle = angle; Distance = distance; Reflectivity = reflectivity; IsValid = isValid; IsInfinite = isInfinite; HasGlare = hasGlare; IsReflector = isReflector; IsContaminated = isContaminated; HasContaminationWarning = hasContaminationWarning; } }