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); } } }