1#[derive(Debug, thiserror::Error)]
5pub enum AlignError {
6 #[error("core 오류: {0}")]
8 Core(#[from] cumulus3d_core::Error),
9 #[error("alignment_max_error 는 양수여야 함: {0}")]
11 BadMaxError(f64),
12 #[error("잘못된 인자: {0}")]
14 InvalidArgument(String),
15 #[error("기준 위치 부족: {found}개 (최소 {required})")]
17 TooFewReferences {
18 found: usize,
20 required: usize,
22 },
23 #[error("공통 영상 부족: {found}개 (최소 {required})")]
25 TooFewCommonImages {
26 found: usize,
28 required: usize,
30 },
31 #[error("공유 3D 점 대응 부족: {found}개 (최소 {required})")]
33 TooFewCorrespondences {
34 found: usize,
36 required: usize,
38 },
39 #[error("견고 Sim3 추정 실패 (인라이어 {inliers}개)")]
41 RansacFailed {
42 inliers: usize,
44 },
45 #[error("Umeyama 해 없음(퇴화 배치)")]
47 Degenerate,
48}
49
50pub type Result<T> = std::result::Result<T, AlignError>;