package com.ard.work.domain.dto.state; import com.ard.work.util.CameraUtil; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @Builder @AllArgsConstructor @NoArgsConstructor public class UavState { private FlightControllerState flightControllerState; // 飞控状态 private BatteryState batteryState; // 电池状态 private PtzState ptzState; // 云台状态 private CameraState cameraState; // 相机状态 private MissionState missionState; // 任务状态 private String boxSn; // 云盒编号 private AvoidanceData avoidanceData; // 避障数据 private List hmsAlarmData; // HMS报警信息 (飞机告警信息) private Float FieldAngle; // 自动计算视场角 /** * 计算并设置视场角 */ public void calculateFieldAngle() { if (cameraState != null) { this.FieldAngle = CameraUtil.getFieldAngleFromZoom(cameraState.getSource(), cameraState.getZoomfactor()); } else { this.FieldAngle = null; // 如果 cameraState 为 null,则 FieldAngle 也为 null } } }