package com.multictrl.modules.business.dto.camera;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMax;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * LookAt参数
 *
 * @author Sdy
 * @since 1.0.0 2026/4/28
 */
@Data
@Schema(name = "LookAt参数")
public class LookAt {

    @NotNull(message = "目标点纬度不能为空")
    @DecimalMax(value = "90", message = "目标点纬度范围 -90~90")
    @DecimalMin(value = "-90", message = "目标点纬度范围 -90~90")
    @Schema(description = "目标点纬度")
    private Double latitude;

    @NotNull(message = "目标点经度不能为空")
    @DecimalMax(value = "90", message = "目标点经度范围 -180~180")
    @DecimalMin(value = "-90", message = "目标点经度范围 -180~180")
    @Schema(description = "目标点经度")
    private Double longitude;

    @NotNull(message = "目标点高度不能为空")
    @DecimalMax(value = "5000", message = "目标点高度 2~5000")
    @DecimalMin(value = "2", message = "目标点高度 2~5000")
    @Schema(description = "目标点高度（相对高度）")
    private Float height;
}
