/// The conditions required to start a scan.
class ScanConditions {
  /// Whether the lighting condtion is fulfilled.
  final bool lighting;

  /// Whether the condtintion of the face distance is fulfilled.
  final bool distance;

  /// Whether the face is centered.
  final bool centered;

  /// Whether the face is staying stilled.
  final bool movement;

  /// Whetter the frame rate of the camera is fast enough.
  final bool frameRate;

  /// Wheather the server is ready.
  final bool serverReady;

  const ScanConditions(
      {required this.lighting,
      required this.distance,
      required this.centered,
      required this.movement,
      required this.frameRate,
      required this.serverReady});

  factory ScanConditions.fromMap(Map map) {
    return ScanConditions(
        lighting: map['lighting'],
        distance: map['distance'],
        centered: map['centered'],
        movement: map['movement'],
        frameRate: map['frameRate'],
        serverReady: map['serverReady']);
  }
}
