package com.dji.sample.patches.xml.mode.share.action.param;
|
|
import com.dji.sample.patches.xml.mode.CameraActionEnum;
|
import lombok.Data;
|
|
/**
|
* @PROJECT_NAME: drone
|
* @DESCRIPTION:
|
* @USER: aix
|
* @DATE: 2024/3/27 13:47
|
*/
|
@Data
|
public class ActionActuatorFuncParam {
|
|
/**
|
* 负载挂载位置
|
* 0:飞行器1号挂载位置。M300 RTK,M350 RTK机型,对应机身左前方。其它机型,对应主云台。
|
* 1:飞行器2号挂载位置。M300 RTK,M350 RTK机型,对应机身右前方。
|
* 2:飞行器3号挂载位置。M300 RTK,M350 RTK机型,对应机身上方。
|
*/
|
private Integer payloadPositionIndex;
|
|
public static ActionActuatorFuncParam createActionActuatorFuncParam(CameraActionEnum type) {
|
|
switch (type) {
|
case TAKE_PHOTO:
|
return new TakePhotoParam();
|
case START_RECORD:
|
return new StartRecordParam();
|
case STOP_RECORD:
|
return new StopRecordParam();
|
case FOCUS:
|
return new FocusParam();
|
case ZOOM:
|
return new ZoomParam();
|
case CUSTOM_DIR_NAME:
|
return new CustomDirNameParam();
|
case GIMBAL_ROTATE:
|
return new GimbalRotateParam();
|
case GIMBAL_EVENLY_ROTATE:
|
return new GimbalEvenlyRotateParam();
|
case ROTATE_YAW:
|
return new RotateYawParam();
|
case HOVER:
|
return new HoverParam();
|
case ORIENTED_SHOOT:
|
return new OrientedShootParam();
|
case PANO_SHOT:
|
return new PanoShotParam();
|
default:
|
throw new IllegalStateException("Unexpected value: " + type);
|
}
|
}
|
|
}
|