package com.ard.work.domain.dto.state;
|
|
import com.ard.work.util.CameraUtil;
|
import lombok.*;
|
|
import java.util.List;
|
|
@Data
|
@Builder
|
@AllArgsConstructor
|
@NoArgsConstructor
|
@EqualsAndHashCode
|
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> 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
|
}
|
}
|
}
|