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;
}
}