Xiajijian
2025-10-13 a67c0844ecd1838e3130502f0c2ea0f0d8825cc5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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> 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
        }
    }
}