package space.nstart.pcp.pcp_types_lib.dto.ballistics

import java.time.LocalDateTime

/** Запрос на ручной расчет программы управления угловым движением. */
data class AngularMotionCalculationRequestDTO(
    val satelliteId: Long,
    val approximateTime: LocalDateTime,
    val mode: AngularMotionModeDTO = AngularMotionModeDTO.CONST_ORIENT,
    val latitudeDeg: Double,
    val longitudeDeg: Double,
    val heightM: Double = 0.0,
    val durationSec: Double,
    val captureAngleDeg: Double = 1.5,
    val leadAngleDeg: Double = 0.0,
    val azimuthDeg: Double = 0.0,
    val sdi: Double? = null,
    val pointInCenter: Boolean = false,
    val focusMm: Double? = null,
    val stepPuudSec: Double? = null,
)

enum class AngularMotionModeDTO {
    CONST_ORIENT,
    AZIMUTH,
    SMOOTH_SDI,
}
